我在表格中有2列'id'和'date',我想避免为同一个id插入重复的日期,我的意思是
id | date
------------------
1 | 01/01/2015
2 | 01/01/2015
3 | 02/01/2015
1 | 01/01/2015 <--- this value is already insert for id 1, and should not be allowed for id 1
答案 0 :(得分:1)
处理您的情况的一种安全方法是在id
和date
列的组合上添加唯一约束:
ALTER TABLE `table` ADD UNIQUE `ui`(`id`, `date`);
添加此约束后,尝试插入重复记录将生成错误。请注意,如果您使用此选项,它还将删除表中已存在的重复项。
答案 1 :(得分:0)
我对这个问题的理解是你不希望两行具有相同的值。您可以使用唯一关键字,但这会限制列只包含每个值中的一个。所以它不允许id 1和2都具有相同的日期。
如果您确实不想复制行,则需要检查该行是否已存在于表中。如果不存在则添加行。
另一个选项是添加重复的行,然后在搜索数据库时使用“select distinct”。