重复更新的mysql条件插入 - 多条记录

时间:2010-02-08 19:56:05

标签: sql mysql insert

如何将ON DUPLICATE UPDATE与多值INSERT一起使用?

INSERT INTO tbl_name 
  (key_id,field1,filed2) 
VALUES
  (1,2,3),
  (1,5,6),
  (1,8,9);

1 个答案:

答案 0 :(得分:11)

我现在无法尝试,但你不能使用这种语法

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);