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

Mengambil id yang terakhir dimasukkan untuk beberapa baris

Memanggil last_insert_id() memberi Anda id dari baris PERTAMA yang dimasukkan dalam batch terakhir. Semua yang lain dimasukkan, dijamin berurutan.

Kecuali Anda melakukan sesuatu yang sangat aneh, ini memungkinkan Anda menghitung ID setiap baris dengan cukup mudah.

Sebenarnya perilakunya bervariasi di 5.1 tergantung pada pengaturan parameter mode kenaikan otomatis innodb; ini seharusnya tidak masalah. Selama Anda tidak mengubahnya dari default, Anda akan melihat perilaku yang diharapkan.

Terkadang ada kasus di mana ini tidak melakukan apa yang Anda harapkan dan tidak berguna - seperti jika Anda melakukan ON DUPLICATE KEY UPDATE atau INSERT IGNORE. Dalam kasus ini, Anda perlu melakukan sesuatu yang lain untuk mengetahui ID setiap baris.

Tapi untuk batch INSERT vanilla biasa, tanpa nilai yang ditentukan untuk kolom auto-inc, itu mudah.

Deskripsi lengkap tentang bagaimana peningkatan otomatis ditangani di innodb ada di sini



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ketersediaan Tinggi dengan Anggaran Sedikit - Menyebarkan Cluster Galera MySQL Dua Node Minimal

  2. MySQL – Kesalahan Koneksi – [MySQL][ODBC 5.3(w) Driver]Host 'IP' Tidak Diizinkan Terhubung ke Server MySQL ini

  3. Bagaimana cara mengambil cadangan satu tabel dalam database MySQL?

  4. SQLSTATE[HY000]:Kesalahan umum:1835 Paket komunikasi yang salah di LARAVEL

  5. ROW_NUMBER di SQL – Pilih Contoh Teratas di SQL dan SQL Server