对重复更新的mysql条件插入 - 多条记录
问题描述:
如何将ON DUPLICATE UPDATE
与多值INSERT结合使用?对重复更新的mysql条件插入 - 多条记录
INSERT INTO tbl_name
(key_id,field1,filed2)
VALUES
(1,2,3),
(1,5,6),
(1,8,9);
答
我不能尝试它的权利,但不能使用此语法
INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)
ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);
从manual?
猜猜那么你的语法是这样的:
INSERT INTO tbl_name
(key_id,field1,filed2)
VALUES
(1,2,3),
(1,5,6),
(1,8,9)
ON DUPLICATE KEY
UPDATE field1=VALUES(field1), field2=VALUES(field2);
+0
我一定错过了这个,日Thnx – 2010-02-08 20:34:49
什么是你期望的结果?我只能让MySQL允许'(1,5,6)ON DUPLICATE KEY UPDATE key_id = key_id + 1',但执行时我只在表中有一行,值为:'2,2,3'。 – 2010-02-08 20:16:31
以及SQL是一个例子,但预期的结果是运行一个将插入新的查询,如果重复的多个值更新。所以如果key_id 1,3,5已经在数据库中,我运行INSERT 2,3,4和6. 2,4和6应该插入和3应该更新,因为它是一个重复的 – 2010-02-08 20:20:34