插入具有从属列的唯一列

时间:2017-10-24 02:45:30

标签: mysql database

我的数据库表中有一个唯一的字符串列。该表由数据列和已删除列组成。如果我尝试将重复的字符串插入该唯一列,它将显示重复错误,这是我想要的。我删除的列将指示0存在,1表示不存在。

当我尝试将唯一字符串添加到数据列,其中删除的列为1(不存在)时,查询将返回重复错误。

我想要什么

id data    removed
1  hello   0
2  haha    1 <- remove column, so data column will ignore unique data
3  haha    0 <- New data

如何将唯一字符串插入数据列并删除等于0?

1 个答案:

答案 0 :(得分:1)

一起为uniquedata创建removed约束,而不仅仅是data

ALTER TABLE `table_name` ADD UNIQUE `unique_name`(`data`, `removed`);

但是,如果您想在haha列中保存多个1 removed,那么unique约束不是MySQL的选项。看看this