Apabila memasukkan baris baharu ke dalam jadual MySQL, selalunya perlu untuk mendapatkan semula nilai yang baru dimasukkan untuk pemprosesan selanjutnya atau merujuk. Berikut ialah cara untuk memasukkan baris dan pada masa yang sama memperoleh kandungannya dalam satu pertanyaan.
Pertanyaan yang disediakan:
INSERT INTO `items` (`item`, `number`, `state`) (SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3')
menyisipkan baris ke dalam jadual item, memilih data daripada jadual item_bug dengan id sama dengan 3. Walau bagaimanapun, pertanyaan ini tidak menyediakan cara untuk mendapatkan semula rekod yang baru dimasukkan.
Untuk mencapai kedua-dua sisipan dan perolehan dalam satu pertanyaan, anda boleh menggunakan fungsi LAST_INSERT_ID(). Fungsi ini mengembalikan ID baris terakhir yang dimasukkan. Dengan menggabungkannya dengan pertanyaan tambahan, anda boleh mendapatkan butiran rekod yang dimasukkan.
Berikut ialah pertanyaan yang diubah suai:
INSERT INTO `items` (`item`, `number`, `state`) (SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3'); SELECT * FROM `items` WHERE `id` = LAST_INSERT_ID();
Pertanyaan ini mula-mula memasukkan baris ke dalam jadual item. Kemudian, ia melaksanakan pertanyaan SELECT, yang mengambil semua lajur daripada jadual item untuk baris dengan id yang sama dengan ID yang terakhir dimasukkan.
Atas ialah kandungan terperinci Bagaimana untuk Mengambil Nilai Baris yang Disisipkan dalam Pertanyaan MySQL Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!