glebian
Messages postés1Date d'inscriptionjeudi 24 novembre 2005StatutMembreDernière intervention10 février 2011
-
10 févr. 2011 à 09:29
cs_hassane86
Messages postés54Date d'inscriptionmercredi 2 janvier 2008StatutMembreDernière intervention 2 août 2012
-
10 mars 2011 à 10:54
Bonjour,
j'ai une table avec 3 champs : Id, IdBT1,IdBT2
Cette table me permet d'avoir une liste de couples de BTS (grâce à IdBT1 et IdBT2).
J'aimerais créer une contrainte qui rend les couples unique dans les deux sens.
Exemple :
Id | BT1 | BT2
1 | 1 | 2
2 | 1 | 2 erreur quand on veut insérer cette ligne ça je sais faire
3 | 2 | 1 Dans ce cas je veux aussi que l'on interdise l'ajout car 1-2 ou 2-1 ça reste le même couple.
Comme je l'ai écris je sais gérer le cas ou l'on a BT1 et BT2 exactement pareil avec un index unique qui regroupe les deux champs mais cela ne gère pas mon 2eme cas. Avez vous une idée ou n'aurais je d'autre choix que de créer un trigger?
cs_hassane86
Messages postés54Date d'inscriptionmercredi 2 janvier 2008StatutMembreDernière intervention 2 août 2012 10 mars 2011 à 10:54
Bonjour,
une petite proposition même si elle est conne mai sa peut marché.
bah tu fait la même chose que pour le premier cas (2 | 1 | 2), tu va faire une requête sql en inversion les 2 variable a la recherche :
if(($BT2 BT1) and ($BT1 BT2))
et en utilisant le mtsql_num_rows() si tu elle renvoi quelque chose tu interdit l'insertion, et si elle renvoi rien tu permet l'insertion .