mysql 中多列的唯一约束
unique constraints for multiple columns in mysql
伙计们,我在数据库中有 table
-------------------------------------------------------------
ID | COMPANY_ID | NAME | DESCRIPTION | BARCODE
-------------------------------------------------------------
我想限制 唯一条形码应该使用相同的公司 ID .... 那么如何在 mysql 中做到这一点??
注意:我在 table
中输入了多个 company_id
您需要在 COMPANY_ID
和 BARCODE
上添加 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)
伙计们,我在数据库中有 table
-------------------------------------------------------------
ID | COMPANY_ID | NAME | DESCRIPTION | BARCODE
-------------------------------------------------------------
我想限制 唯一条形码应该使用相同的公司 ID .... 那么如何在 mysql 中做到这一点??
注意:我在 table
中输入了多个 company_id您需要在 COMPANY_ID
和 BARCODE
上添加 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)