Ini hanya diperlukan jika aplikasi Anda perlu memanggil LAST_INSERT_ID() setelah melakukan INSERT . Biasanya, LAST_INSERT_ID() hanya akan mengembalikan nilai jika Anda benar-benar memasukkan baris baru ke dalam tabel, bukan karena ada kunci duplikat dan malah memperbarui baris tersebut.
Dari dokumentasi :
Jika Anda menggunakan idiom yang Anda kutip, LAST_INSERT_ID() akan mengembalikan ID baris baru yang dimasukkan atau baris yang diperbarui.