我怎样才能实现这种独特性..没有列只有行,例如。 ID#2在10月有记录,ID#2不能有2个信息res_month ='October'
res_id | res_month | res_year
1 | September | 2013
2 | September | 2013
3 | September | 2013
4 | September | 2013
2 | October | 2013
3 | October | 2013
4 | October | 2013
答案 0 :(得分:1)
您可以在多个字段上构建UNIQUE KEY
约束:
ALTER TABLE tbl ADD UNIQUE KEY foo (res_id, res_month, res_year);
(foo
只是约束的名称 - 您可能想要选择更具说明性的名称)
此约束可确保res_id
,res_month
和res_year
的每个组合只能出现一次。
有了这个,INSERT
已存储的组合会产生Unique constraint failed
错误。在您的示例中,这将失败,因为组合已存在:
INSERT INTO tbl (res_id, res_month, res_year) VALUES (2, 'October', '2013');
答案 1 :(得分:0)
在res_id列上添加唯一约束 这不允许res_id列中的重复值