How to increment a field in MySql using “ON DUPLICATE KEY UPDATE” when inserting multiple rows?

橙三吉。 提交于 2019-12-04 17:11:47

问题


How to increment a field in MySql using "ON DUPLICATE KEY UPDATE" when inserting multiple rows?

For one row:

INSERT INTO table 
  (a, counter_elem) 
VALUES 
  (1, 1)
ON DUPLICATE KEY UPDATE counter_elem = counter_elem+1;

For multiple rows:

INSERT INTO table 
  (a, counter_elem) 
VALUES 
  (1, 1),
  (2, 1)
ON DUPLICATE KEY UPDATE counter_elem = ?;

This doesn't work:

counter_elem = VALUES(counter_elem)+1

回答1:


Exactly the same way!

INSERT INTO table 
  (a, counter_elem) 
VALUES 
  (1, 1),
  (2, 1)
ON DUPLICATE KEY UPDATE counter_elem = counter_elem + 1;

There's no problem there!



来源:https://stackoverflow.com/questions/6802239/how-to-increment-a-field-in-mysql-using-on-duplicate-key-update-when-inserting

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!