Anda memasukkan NULL
nilai ke dalam kolom Kunci Utama. Karena Anda tidak dapat memiliki dua baris dengan PK yang sama, Anda mungkin tidak benar-benar memasukkan data nyata (yang mungkin juga merupakan kesalahan yang ingin Anda tangkap). Coba:
dbSendQuery(con, "INSERT INTO t VALUES(5);")
Eksekusi yang akan memberi Anda dua nilai berbeda untuk last_insert_id.
Sunting:salah paham. Lihat di sini
untuk detail di LAST_INSERT_ID
. Jawaban yang direvisi:jika Anda tidak menentukan nilai dalam AUTO_INCREMENT
kolom, lalu anda harus mendapatkan LAST_INSERT_ID
nilai dikembalikan. Dalam hal ini, coba:
INSERT INTO t DEFAULT VALUES