J'ai une table MySQL avec, entre autres, deux champs: a (int) et b (string) utilisant le moteur InnoDB. Je souhaite le structurer de sorte qu'une valeur particulière de b puisse apparaître un nombre arbitraire de fois dans la table mais chaque fois qu'elle apparaît, elle doit toujours apparaître avec la même valeur de a, c'est-à-dire que ma table ressemble à ceci:Contrainte MySQL
(a,b)
(1,'foo')
(2,'bar')
(2,'bar')
(2,'baz')
je devrais être en mesure d'insérer avec succès (1, 'foo'), (2, 'bar') ou même (2, 'qux') dans la table, mais inserts (2, 'foo '), (1,' bar ') ou (1,' baz ') devraient échouer parce que chaque fois que les valeurs de chaîne de b apparaissent, elles devraient toujours apparaître avec la même valeur de a.
Des idées pour le faire efficacement? J'ai joué avec des transactions et SELECT ... FOR UPDATE
mais pas de chance. Est-ce que j'ai la mauvaise structure de la table?
Peut-être créer une table qui a quelles valeurs doivent être avec quelles ints? – AllisonC