Mendapatkan Kandungan selepas MySQL Insert
Memasukkan baris ke dalam jadual MySQL adalah mudah. Walau bagaimanapun, mendapatkan semula nilai yang dimasukkan dalam pertanyaan yang sama boleh menjadi satu cabaran. Soalan ini meneroka kemungkinan untuk menyelesaikan kedua-dua tugasan dalam satu pertanyaan.
Soalan itu menimbulkan senario di mana satu baris daripada jadual 'item_bug' perlu dimasukkan ke dalam jadual 'item' dan data yang dimasukkan, termasuk ID, perlu diambil semula. Penyelesaian yang dicadangkan adalah untuk memasukkan baris menggunakan pernyataan INSERT dan kemudian mendapatkannya menggunakan pernyataan SELECT seterusnya.
Walau bagaimanapun, soalan mencari penyelesaian yang lebih cekap dengan melaksanakan kedua-dua tugas dalam satu pertanyaan. Untuk mencapai matlamat ini, jawapan mencadangkan menggunakan fungsi 'LAST_INSERT_ID()'. Fungsi ini mengembalikan ID baris terakhir yang dimasukkan ke dalam jadual. Dengan menggabungkan penyata sisipan dan pilih, anda boleh mendapatkan semula data yang dimasukkan tanpa memerlukan pertanyaan berasingan.
Pertanyaan yang dicadangkan akan kelihatan seperti ini:
INSERT INTO `items` (`item`, `number`, `state`) (SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3'); SELECT * FROM `items` WHERE `id`= LAST_INSERT_ID();
Dengan melaksanakan pertanyaan ini, baris daripada 'item_bug' dimasukkan ke dalam 'item' dan data yang dimasukkan, termasuk ID, segera diambil dan dikembalikan sebagai hasil pertanyaan. Penyelesaian ini menghapuskan keperluan untuk pertanyaan berasingan untuk mendapatkan semula data yang dimasukkan, menjadikannya pendekatan yang lebih cekap dan elegan.
Atas ialah kandungan terperinci ## Bagaimana untuk Mendapatkan Data yang Dimasukkan dalam Pertanyaan MySQL yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!