我在DB中有那个桌子
-------------------------------------------------------------
ID | COMPANY_ID | NAME | DESCRIPTION | BARCODE
-------------------------------------------------------------
我想限制唯一的条形码应使用相同的companyID设置 ....因此,如何在mysql中做到这一点?
注意:我可以在表格中输入多个company_id
答案 0 :(得分:2)
您需要在表COMPANY_ID
和BARCODE
上添加复合UNIQUE constraint。这基本上意味着,对于上述两个字段,不允许具有重复值组合的行。它仍然可以分别允许其中一个重复值。
例如:(1, 'abc')
组合将不能多于一行。但是,(1, 'abc')
,(1, 'def')
可以存在。因此,它允许单独重复值(在此示例中为Company_id
)
执行以下操作(相应地更改表和列的名称):
ALTER TABLE your_table_name
ADD CONSTRAINT unique_barcode_company UNIQUE (COMPANY_ID, BARCODE)