我的数据库表中有一个唯一的字符串列。该表由数据列和已删除列组成。如果我尝试将重复的字符串插入该唯一列,它将显示重复错误,这是我想要的。我删除的列将指示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?
答案 0 :(得分:1)
一起为unique
和data
创建removed
约束,而不仅仅是data
。
ALTER TABLE `table_name` ADD UNIQUE `unique_name`(`data`, `removed`);
但是,如果您想在haha
列中保存多个1
removed
,那么unique
约束不是MySQL
的选项。看看this。