我想建立一个实验,一个字典,任何用户都可以建议新词。
为了避免重复,我曾经做过搜索该单词的查询SELECT
,如果大小为零,那么我会执行INSERT INTO
。
我觉得这种方法只有在需要警告用户时才能正常工作,但在我的情况下,我想要更快,自动化和安静的东西。
单词的第一个条目(用户第一次建议该单词)将成为页面单词的ID,因此我不想使用REPLACE
。
我想知道使用INSERT IGNORE
是否可以成为解决方案?
答案 0 :(得分:1)
INSERT IGNORE会在这里为您提供帮助。您只需要确保在不希望重复的列上定义了UNIQUE索引。
另一个选项是INSERT INTO ... ON DUPLICATE KEY UPDATE,它不会再次插入值,但会允许您更新该行中的其他列。例如,计数器或时间戳。
答案 1 :(得分:0)
“INSERT INTO”忽略以后的重复项,或“INSERT INTO ... ON DUPLICATE KEY UPDATE”从后面的重复项中获取新字段:http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html