Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Memilih Baris Terakhir yang Dimasukkan dengan Cekap dalam MySQL?

Bagaimana untuk Memilih Baris Terakhir yang Dimasukkan dengan Cekap dalam MySQL?

DDD
DDDasal
2024-10-25 11:57:02921semak imbas

How to Efficiently Select the Last Inserted Row in MySQL?

Memilih Baris Terakhir yang Disisipkan dalam MySQL dengan Mudah

Mendapatkan semula baris yang paling baru dimasukkan ialah tugas biasa dalam pengurusan pangkalan data. MySQL menyediakan beberapa pendekatan untuk mencapai ini, setiap satu dengan kekuatan dan batasan yang berbeza-beza.

Satu kaedah yang boleh dipercayai ialah menggunakan lajur TIMESTAMP. Dengan menetapkan medan TIMESTAMP untuk mengemas kini secara automatik kepada cap masa semasa semasa pemasukan baris, anda boleh menjejaki rekod terakhir yang diubah suai dengan berkesan.

ALTER TABLE bugs ADD COLUMN last_update TIMESTAMP DEFAULT CURRENT_TIMESTAMP;

Kaedah ini memastikan tingkah laku ramalan yang benar, kerana ia bergantung secara langsung pada maklumat berasaskan masa .

Walau bagaimanapun, jika anda tidak mempunyai pilihan untuk menggunakan lajur TIMESTAMP, anda boleh menggunakan teknik lain. Satu pendekatan ialah memesan rekod mengikut ID dalam tertib menurun (dengan anggapan ID ialah medan kenaikan automatik) dan kemudian menghadkan keputusan kepada baris paling atas:

SELECT ID FROM bugs WHERE user='Me' ORDER BY ID DESC LIMIT 1;

Walaupun teknik ini kurang tepat daripada menggunakan TIMESTAMP, ia memberikan anggaran yang munasabah bagi baris terakhir yang dimasukkan. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa jika berbilang baris disisipkan dengan pengguna yang sama dan nilai ID yang sama, kaedah ini akan mengembalikan salah satu baris tersebut secara sewenang-wenangnya.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris Terakhir yang Dimasukkan dengan Cekap 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