我该如何在多值插入时使用
ON DUPLICATE UPDATE
呢?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);
从手册上了解到的?
那么你的语法看起来应该像这样:
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);
(1,5,6) ON DUPLICATE KEY UPDATE key_id=key_id+1
,但在执行时,表中只有一行数据,数值为2, 2, 3
。 - OMG Ponies