Lihat halaman ini:https://web. archive.org/web/20150329004325/https://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
Di bagian bawah halaman, mereka menjelaskan bagaimana Anda dapat membuat LAST_INSERT_ID bermakna untuk pembaruan dengan meneruskan ekspresi ke fungsi MySQL tersebut.
Dari contoh dokumentasi MySQL:
Jika tabel berisi kolom AUTO_INCREMENT dan INSERT ... UPDATE menyisipkan baris, fungsi LAST_INSERT_ID() mengembalikan nilai AUTO_INCREMENT. Jika pernyataan memperbarui baris sebagai gantinya, LAST_INSERT_ID() tidak berarti. Namun, Anda dapat mengatasinya dengan menggunakan LAST_INSERT_ID(expr). Misalkan id adalah kolom AUTO_INCREMENT. Untuk membuat LAST_INSERT_ID() bermakna untuk pembaruan, sisipkan baris sebagai berikut:
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;