假设我有一个表keywords(keyid, keyword)
,其中keyid
为primary key
且keyword
为varchar
和unique
。
如何插入不存在的值并忽略表中已存在的值而不会出现错误?
例如,我插入a, b, c, d
。然后我插入c, d, e, f
。它应该忽略c和d,并插入e和f。
答案 0 :(得分:0)
只需使用ON DUPLICATE KEY
,例如
INSERT INTO keywords (keyid, keyword)
VALUES (100, 'a keyword')
ON DUPLICATE KEY UPDATE keyid = keyid;
这样,如果UPDATE
已经存在,则会执行替代keyid
。
干杯!
答案 1 :(得分:0)
您可以使用ON DUPLICATE KEY UPDATE
功能。文档here
示例
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;