Je suis relativement nouveau à MySQL, et je me demandais s'il était possible d'empêcher les entrées en double dans un tableau pivot/mapping qui n'a pas de clé primaire et une relation many-to-many. Un exemple simple:Existe-t-il un moyen d'empêcher les entrées en double dans un pivot/mappage de table?
table 1
table1ID
field
field
table 2
table2ID
field
field
pivot table
table1ID
table2ID
Depuis plusieurs-à-plusieurs signifierait qu'une [seule] clé primaire ne peut pas être utilisé, est-il une manière concise (1-2 requêtes) pour éviter une entrée en double (même table1ID, paire tableID) d'être ajouté?
Éditer: Évidemment, cela peut être fait par un SELECT et une boucle dans les résultats, mais non seulement c'est un appel supplémentaire, mais il y a une boucle supplémentaire.
Juste pour clarifier, UPDATE ON DUPLICATE KEY s'appliquerait-il si les deux sont des clés primaires? – user117046
Vous ne savez pas ce que vous voulez dire. L'instruction ci-dessus signifie que la clé primaire est en fait la concaténation des deux éléments (sorta), donc si l'un est différent, alors il ne va pas entrer en collision sur l'unicité –
Apparemment, Oui. http://lists.evolt.org/archive/Week-of-Mon-20000828/016482.html – user117046