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

Mengambil indeks dari baris yang disisipkan

LAST_INSERT_ID() memiliki cakupan sesi.

Ini akan mengembalikan nilai identitas yang dimasukkan dalam sesi saat ini.

Jika Anda tidak menyisipkan baris apa pun di antara INSERT dan LAST_INSERT_ID , maka itu akan berfungsi dengan baik.

Perhatikan bahwa untuk beberapa sisipan nilai, itu akan mengembalikan identitas baris pertama yang dimasukkan, bukan yang terakhir:

INSERT
INTO    mytable (identity_column)
VALUES  (NULL)

SELECT  LAST_INSERT_ID()

--
1

INSERT
INTO    mytable (identity_column)
VALUES  (NULL), (NULL)

/* This inserts rows 2 and 3 */

SELECT  LAST_INSERT_ID()

--
2

/* But this returns 2, not 3 */


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara MEMESAN DENGAN bidang varchar sebagai nomor?

  2. MySQL:Cara sederhana untuk mengubah nilai bidang int

  3. PDO adalah baris yang terpengaruh selama mengeksekusi pernyataan

  4. Bagaimana saya bisa menulis SQL untuk tabel yang memiliki nama yang sama dengan kata kunci yang dilindungi di MySql?

  5. Menggunakan SQLAlchemy ORM untuk id non-primary key, unik, dan bertambah secara otomatis