Вижте тази страница:https://web. archive.org/web/20150329004325/https://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
В долната част на страницата те обясняват как можете да направите LAST_INSERT_ID значим за актуализации, като подадете израз към тази MySQL функция.
От примера за документация на MySQL:
Ако таблица съдържа колона AUTO_INCREMENT и INSERT ... UPDATE вмъква ред, функцията LAST_INSERT_ID() връща стойността AUTO_INCREMENT. Ако вместо това изразът актуализира ред, LAST_INSERT_ID() няма смисъл. Можете обаче да заобиколите това, като използвате LAST_INSERT_ID(expr). Да предположим, че id е колоната AUTO_INCREMENT. За да направите LAST_INSERT_ID() значим за актуализации, вмъкнете редове, както следва:
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;