Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan ID Auto-Peningkatan Secara Cekap Selepas INSERT dalam PHP/MySQL?
Apabila memasukkan baris ke dalam jadual MySQL di mana medan 'id' meningkat secara automatik, mendapatkan semula 'id' baris yang dimasukkan ialah tugas biasa. Walaupun satu pendekatan melibatkan memasukkan baris dan kemudian membuat pertanyaan untuk baris yang sepadan, ini memperkenalkan keadaan perlumbaan yang berpotensi.
Untuk mengelakkan isu ini, PHP menyediakan mysqli_insert_id( ) fungsi, yang secara langsung mendapatkan semula ID baris terakhir yang dimasukkan untuk sambungan MySQL yang diberikan. Kaedah ini memastikan bahawa ID diperoleh dengan pasti tanpa risiko keadaan perlumbaan atau keputusan pendua.
<?php $link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db'); mysqli_query($link, "INSERT INTO mytable (1, 2, 3, 'blah')"); $id = mysqli_insert_id($link); ?>
Kaedah lain melibatkan penggunaan fungsi LAST_INSERT_ID() MySQL, yang boleh digunakan dalam operasi sisipan berbilang jadual. Dalam pendekatan ini, baris dimasukkan ke dalam berbilang jadual dan fungsi LAST_INSERT_ID() memastikan bahawa 'id' disebarkan merentasi semua jadual yang diubah suai dalam pertanyaan tunggal.
<?php mysqli_query($link, "INSERT INTO my_user_table ...; INSERT INTO my_other_table (`user_id`) VALUES (LAST_INSERT_ID())"); ?>
Nota: Setiap sambungan MySQL mengekalkan penjejakan 'id'nya sendiri, menghalang konflik antara sambungan yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Auto-Peningkatan Secara Cekap Selepas INSERT dalam PHP/MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!