contraintes uniques pour plusieurs colonnes dans mysql
Les gars j'ai cette table dans DB
-------------------------------------------------------------
ID | COMPANY_ID | NAME | DESCRIPTION | BARCODE
-------------------------------------------------------------
Je veux faire une contrainte que les codes à barres uniques doivent être enetered avec le même companyID .... alors comment faire cela dans mysql?
NB: je peux entrer plusieurs company_id dans le tableau
Vous devez ajouter une contrainte UNIQUE composite sur COMPANY_ID
et BARCODE
, à votre table. Cela signifie essentiellement qu'il n'autorisera pas les lignes ayant une combinaison de valeurs en double , pour lesdits deux champs. Il peut toujours autoriser des valeurs en double individuellement pour l'un ou l'autre.
Exemple: la (1, 'abc')
combinaison ne pourra pas exister sur plus d'une ligne. Cependant, (1, 'abc')
, (1, 'def')
peut exister. Il permet donc de dupliquer les valeurs individuellement ( Company_id
dans cet exemple)
Procédez comme suit (modifiez le (s) nom (s) de table et de colonne en conséquence):
ALTER TABLE your_table_name
ADD CONSTRAINT unique_barcode_company UNIQUE (COMPANY_ID, BARCODE)