mysql 中多列的唯一约束

unique constraints for multiple columns in mysql

伙计们,我在数据库中有 table

-------------------------------------------------------------
ID | COMPANY_ID | NAME | DESCRIPTION | BARCODE 
-------------------------------------------------------------

我想限制 唯一条形码应该使用相同的公司 ID .... 那么如何在 mysql 中做到这一点??

注意:我在 table

中输入了多个 company_id

您需要在 COMPANY_IDBARCODE 上添加 Composite UNIQUE constraint 到您的 table。这基本上意味着对于上述两个字段, 不允许行具有重复的值组合 。它仍然可以为它们中的任何一个单独允许重复值。

例如:(1, 'abc') 组合不能存在于多行中。但是,(1, 'abc')(1, 'def')可以存在。所以它允许单独重复值(本例中为Company_id

执行以下操作(相应地更改 table 和列名称):

ALTER TABLE your_table_name 
ADD CONSTRAINT unique_barcode_company UNIQUE (COMPANY_ID, BARCODE)