Rumah >pangkalan data >tutorial mysql >Mengapa LAST_INSERT_ID() Mengembalikan 0 dalam MySQL?

Mengapa LAST_INSERT_ID() Mengembalikan 0 dalam MySQL?

Susan Sarandon
Susan Sarandonasal
2024-12-22 16:19:10138semak imbas

Why Does LAST_INSERT_ID() Return 0 in MySQL?

Menyelesaikan masalah LAST_INSERT_ID() Mengembalikan 0 dalam MySQL

Apabila cuba mendapatkan ID baris yang paling baru dimasukkan menggunakan LAST_INSERT_ID(), beberapa pengguna menghadapi isu yang membingungkan di mana ia secara konsisten mengembalikan 0. Ini boleh berlaku walaupun selepas memasukkan baris menggunakan pelbagai kaedah, termasuk menentukan NULL, 0 atau meninggalkan nilai ID.

Punca dan Penyelesaian

Isu sering timbul disebabkan tetapan konfigurasi PHP MySQL, PersistentConnections , ditetapkan kepada FALSE. Apabila PersistentConnections dilumpuhkan, sambungan baharu diwujudkan untuk setiap pertanyaan, menghasilkan CONNECTION_ID yang unik setiap kali. Akibatnya, fungsi LAST_INSERT_ID() tidak dapat menjejaki operasi sisipan merentas berbilang sambungan dan mengembalikan 0.

Untuk menyelesaikan isu ini, periksa fail konfigurasi PHP MySQL untuk tetapan PersistentConnections dan pastikan ia ditetapkan kepada TRUE. Ini akan membolehkan MySQL mengekalkan sambungan berterusan, mengekalkan CONNECTION_ID merentas berbilang pertanyaan dan membolehkan LAST_INSERT_ID() untuk mendapatkan semula ID terbaharu dengan tepat.

Atas ialah kandungan terperinci Mengapa LAST_INSERT_ID() Mengembalikan 0 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