mySQL如何防止插入,除非两列(字段)的组合是唯一的?

Luk*_*keS 2 mysql sql

可能重复:
如何为MySQL中的多列指定唯一约束?

我是MySQL新手并且有一个表格,我正在转换为MySQL,其中包含帐户的"订单指南",这些帐户是帐户通常订购的所有项目.我需要防止在一个帐户的项目(产品编号)的情况下插入已经在订单指南表中,这取决于两个字段的唯一性的组合.订单指南表中数据的简化示例:

uID  Account_Num   Prod_Num
0    1000          2000
1    1000          2010
2    1000          2020
3    1000          2030
4    1001          2000
5    1001          2010
6    1001          2020
7    1001          2021
Run Code Online (Sandbox Code Playgroud)

我不能只使"Account_Num"和"Prod_Num"字段唯一.我需要一种设置规则或方法来指定"Account_Num"和"Prod_Num"的组合是否为唯一允许插入的方法.uID字段是唯一的自动增量字段.这可能吗?

Chr*_*hey 11

你会很高兴知道索引可以是多列:-)

ALTER TABLE my_table ADD UNIQUE account_prod (Account_Num, Prod_Num);
Run Code Online (Sandbox Code Playgroud)