【发布时间】:2016-05-03 19:30:05
【问题描述】:
INSERT INTO users_words(iduser,idword,status_of_word) VALUES(4,6,2);
INSERT INTO users_words(iduser,idword,status_of_word) VALUES(4,6,1);
INSERT INTO users_words(iduser,idword,status_of_word) VALUES(4,6,0);
INSERT INTO users_words(iduser,idword,status_of_word) VALUES(5,6,0);
INSERT INTO users_words(iduser,idword,status_of_word) VALUES(8,7,1);
INSERT INTO users_words(iduser,idword,status_of_word) VALUES(8,9,2);
我想要一个唯一索引是和iduser,idword一起的。 如何避免将具有相同值的查询插入索引列? 例如:像 13 和 14 ( idusers_words ) 行一样插入块行
SELECT * FROM users_words;
> idusers_words | iduser | idword | status_of_word |
12 4 6 2
13 4 6 1
14 4 6 0
15 5 6 0
16 8 7 1
17 8 9 2
编辑:
我试过这段代码。但是出现了错误“#1062 - 键 'my_unique' 的重复条目 '1-1'”
ALTER TABLE users_words
ADD CONSTRAINT my_unique UNIQUE(iduser,idword);
【问题讨论】:
-
在编辑的错误:那是因为你已经在表中有一些重复的数据。您必须在添加约束之前将其删除。另外,删除早期的唯一索引/约束,它是多余的。
-
@I_am_Batman 非常感谢。你救了我的命。
标签: mysql sql sql-insert unique-index