检查SQL中多个属性的唯一性

时间:2014-03-06 10:30:50

标签: mysql sql

我有一张ID, MID,PID形式的表格。现在,因为表ID是主键。我可能会遇到MID,PID的相同组合,但我不应该添加它们。此处ID是需要生成且无法获取或爬网的内容。 SQL中是否有任何机制可以检查组合的唯一性

我想用自动增量生成ID,所以它是主键在这里无法帮助,我想的另一个选项是,连接MID和PID然后将它们设置为主键。否则,我可以使用select命令检查数据是否存在,然后执行相同的操作。但所有这些都打败了目的,或者说至少不优雅。还有其他方法吗?

创建constraint是否会提供服务?

1 个答案:

答案 0 :(得分:4)

是的,添加(复合)唯一性约束正是您想要的:

ALTER TABLE my_table ADD UNIQUE (MID, PID)