我有这张桌子
----------------------------------------
ID | company_id | barcode | product_name
----------------------------------------
我想对公司和条形码列进行唯一的约束,因此相同的company_id
不能具有相同的条形码编号...但是相同的company_id
可以仅具有空条形码...如何在MySQL中做到这一点?
任何帮助将不胜感激..谢谢
答案 0 :(得分:0)
您需要添加一个Composite Unique constraint:
ALTER TABLE your_table_name
ADD CONSTRAINT unique_barcode_company_idx UNIQUE (company_id, barcode);
详细信息:
NULL
值。(1, null)
的行,其中1
代表company_id
,null
代表barcode
答案 1 :(得分:0)
您可以将复合唯一键添加为:
ALTER TABLE sometable_name ADD UNIQUE INDEX `unq_indx` (`company_id`,`barcode`);
在同一公司名称的条形码列中允许多个空值。