mysql中多列的唯一约束

cnjp1d6j  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(492)

这个问题在这里已经有答案了

如何为mysql中的多列指定唯一约束(14个答案)
两年前关门了。
伙计们,我在db有那张table

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

我想做一个限制,唯一的条形码应该与相同的公司ID。。。。那么如何在mysql中做到这一点??
注意:我可以在表中输入多个公司id

6rqinv9w

6rqinv9w1#

您需要在上添加复合唯一约束 COMPANY_ID 以及 BARCODE ,到您的table。这基本上意味着对于上述两个字段,它将不允许具有重复值组合的行。它仍然允许其中任何一个单独使用重复的值。
如: (1, '') 组合不能存在于多行中。然而, (1, '') , (1, 'def') 可以存在。因此它允许单独复制值( Company_id 在本例中)
执行以下操作(相应地更改表和列名):

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

相关问题