Je veux mettre en œuvre une sorte de XOR contrainte sur les clés étrangères MySQL 5.1XOR Constraint Mysql
Il y a ce tableau, disons entité qui peut faire référence à deux types de valuesets différents représentés par les tableaux Valsa et ValsB. Maintenant je voudrais implémenter une contrainte qui s'assure que exactement l'un de ces deux est mappé, et l'autre ne l'est pas.
Dans Oracle, vous pouvez utiliser quelque chose comme
CHECK (NVL2(FK_A,1,0)+NVL2(FK_B,1,0)=1));
mais pour autant que je le comprends MySQL ne supporte pas vraiment les contraintes de vérification (encore).
Des idées?
Je ne comprends pas pourquoi vous ne la mettre en œuvre avec plus de clarté: 'CHECK ((FK_A EST NULLE ET FK_B IS NOT NULL) OR (FK_A IS NOT NULL et FK_B IS NULL))'; –
oui vous avez raison. votre déclaration est plus lisible. mais ne m'aide toujours pas. mais néanmoins je vais utiliser votre suggestion dans notre application Oracle. ty –