Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

LAST_INSERT_ID() selalu mengembalikan 0 (RMySQL) - masalah koneksi terpisah

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memasukkan entri ke kolom JSON di postgres

  2. Django models.py Kunci Asing Melingkar

  3. Apakah ada cara aman untuk membuat parameter nama database dalam kueri MySQL?

  4. Apakah ada FIND_IN_SET berdasarkan indeks di MySQL?

  5. Parsing JSON ke mySQL