Вы правы. Я пробовал это перед тем, как задавать вопрос, но он дал неправильный прирост из-за ошибки в моем классе, теперь я исправил ошибку, и она работает.

величить поле в MySql, используя «ON DUPLICATE KEY UPDATE» при вставке нескольких строк?

Для одного ряда:

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

Для нескольких строк:

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

Это не работает:

counter_elem = VALUES(counter_elem)+1

Ответы на вопрос(1)

Ваш ответ на вопрос