Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan ID Auto-Increment Terakhir yang Dimasukkan dalam MySQL?

Bagaimana untuk Mendapatkan ID Auto-Increment Terakhir yang Dimasukkan dalam MySQL?

DDD
Lepaskan: 2024-12-09 09:50:07
asal
304 orang telah melayarinya

How to Retrieve the Last Inserted Auto-Increment ID in MySQL?

Mencari Setara dengan SCOPE_IDENTITY() SQL Server dalam MySQL

Fungsi SQL Server SCOPE_IDENTITY() menyediakan cara untuk mendapatkan semula identiti terakhir nilai yang dijana oleh pernyataan INSERT dalam skop semasa. Setara dengannya dalam MySQL ialah LAST_INSERT_ID().

LAST_INSERT_ID()

Fungsi LAST_INSERT_ID() mengembalikan ID yang dijana oleh operasi INSERT terbaharu yang memasukkan baris ke dalam jadual dengan lajur AUTO_INCREMENT. Sintaksnya ialah:

LAST_INSERT_ID([table_name])
Salin selepas log masuk

Parameter table_name pilihan menentukan jadual untuk mendapatkan semula nilai identiti terakhir. Jika ditinggalkan, LAST_INSERT_ID() mengembalikan nilai untuk jadual terakhir yang mempunyai lajur AUTO_INCREMENT dimasukkan ke dalamnya.

Contoh

Pertimbangkan jadual berikut:

CREATE TABLE Foo (
    FooId INT AUTO_INCREMENT PRIMARY KEY
);
Salin selepas log masuk

Memasukkan baris ke dalam jadual ini menggunakan pernyataan INSERT akan menjana ID untuk rekod baru. Fungsi LAST_INSERT_ID() boleh digunakan untuk mendapatkan ID ini sejurus selepas operasi INSERT, seperti yang ditunjukkan di sini:

INSERT INTO Foo () VALUES ();
SELECT LAST_INSERT_ID();
Salin selepas log masuk

Ini akan mengembalikan ID rekod yang baru dibuat.

Nota Tambahan

  • LAST_INSERT_ID() mendapatkan semula ID daripada sesi semasa sahaja. Ia tidak mengembalikan ID yang dijana dalam sesi lain.
  • Apabila memasukkan berbilang baris menggunakan penyata INSERT tunggal dalam transaksi, LAST_INSERT_ID() mengembalikan ID baris pertama yang telah dimasukkan.
  • Jika pernyataan INSERT tidak menghasilkan nilai identiti, LAST_INSERT_ID() mengembalikan 0.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Auto-Increment Terakhir yang Dimasukkan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan