Memasukkan Nilai ke dalam Jadual Menggunakan Subkueri
Memasukkan nilai ke dalam jadual menggunakan subkueri dengan berbilang hasil boleh mencabar. Pertimbangkan senario di mana anda mempunyai dua jadual, artikel dan harga serta anda ingin memasukkan entri ke dalam harga berdasarkan ID tertentu yang diperoleh daripada artikel.
Pendekatan biasa, yang sering membawa kepada ralat SQL, adalah menggunakan subquery dalam klausa VALUES:
INSERT INTO prices (group, id, price) VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);
Pertanyaan ini akan mengakibatkan ralat kerana subquery mengembalikan lebih daripada satu hasil.
Pendekatan yang betul ialah menggunakan pernyataan pilih dalam pertanyaan INSERT dan hardcode medan malar:
insert into prices (group, id, price) select 7, articleId, 1.50 from article where name like 'ABC%';
Dengan memisahkan medan malar daripada subkueri, anda boleh memastikan bahawa hanya satu baris dimasukkan untuk setiap hasil subkueri.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Berbilang Nilai dengan Betul ke dalam Jadual Menggunakan Subkueri?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!