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
DDDasal
2024-12-09 09:50:07210semak imbas

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])

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
);

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();

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:
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