MySQL условная вставка при повторном обновлении - несколько записей - PullRequest
5 голосов
/ 08 февраля 2010

Как я могу использовать ON DUPLICATE UPDATE с множественным значением INSERT?

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

1 Ответ

11 голосов
/ 08 февраля 2010

Я не могу попробовать прямо сейчас, но вы не можете использовать этот синтаксис

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...