lu le tutoriel How to handle a Many-to-Many relationship with PHP and MySQL.mysql plusieurs à plusieurs
Dans cette question, je me réfère à la section "schéma de base de données", qui énonce les règles suivantes:
Cette nouvelle table doit être construit à sur les résultats suivants:
* It must have a column which links back to table 'A'. * It must have a column which links back to table 'B'. * It must allow no more than one row to exist for any combination of rows from table 'A' and table 'B'. * It must have a primary key.
maintenant c'est clair comme du cristal jusqu'à maintenant.
Le seul problème que j'ai est avec la règle 3ème ("Il doit permettre pas plus d'une ligne pour exister pour toute combinaison").
Je veux que cela s'applique également, mais cela ne semble pas fonctionner de cette façon. Je suis en mesure d'ajouter deux lignes qui reflètent la même relation
Sur mon exemple de test de MySQL (5.XX)!
Par exemple, si je fais cette relation (en ajoutant une ligne):
A à B
Il me permet aussi de faire cette relation ainsi:
B à A
la question est en fait deux questions:
1) Comment puis-je la 3ème règle qui ne permettra pas de faire ce qui précède? Avoir une seule relation unique quelle que soit la combinaison.
2) Quand je veux recherche de tous les rapports de « A », à quoi ressemblerait la requête SQL comme?
Note # 1: Au fond de mon objectif final est de créer un système « d'amitié », et pour autant que je comprends la solution est un nombre à plusieurs table. Suggérez autrement si possible.
Note n ° 2: La table des utilisateurs est sur une autre base de données des relations (appeler amitiés) Table. Par conséquent, je ne peux pas utiliser de clés étrangères.
J'ai posté une "clarification" question ici: http://stackoverflow.com/questions/3597078 – Poni