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

AUTO_INCREMENT dan LAST_INSERT_ID

SELECT max(employeeid) FROM Employee;

Kueri di atas mengembalikan nilai employeeid dari record yang terakhir dimasukkan dalam tabel Employee karena employeeid adalah kolom kenaikan otomatis. Ini tampaknya baik-baik saja, tetapi misalkan dua utas sedang menjalankan operasi penyisipan secara bersamaan, ada kemungkinan Anda mendapatkan id yang salah dari catatan yang terakhir dimasukkan!

Jangan khawatir, MySQL menyediakan fungsi yang mengembalikan nilai kolom kenaikan otomatis dari catatan yang terakhir dimasukkan.

SELECT LAST_INSERT_ID();

LAST_INSERT_ID() selalu khusus koneksi , ini berarti bahkan jika operasi penyisipan dilakukan secara bersamaan dari koneksi yang berbeda, itu selalu mengembalikan nilai operasi spesifik koneksi saat ini.

Jadi Anda harus terlebih dahulu menyisipkan record di tabel Employee, jalankan query di atas untuk mendapatkan nilai id dan gunakan ini untuk menyisipkan di tabel kedua.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyimpan catatan database ke dalam array

  2. GROUP_CONCAT dengan batas

  3. Haruskah saya menggunakan pernyataan yang disiapkan untuk MySQL di PHP PERFORMANCE-WISE?

  4. Tampilkan batasan pada perintah tabel

  5. Mendapatkan jalur MySQL di command prompt