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!