Rumah > Artikel > pangkalan data > Bagaimana untuk Memasukkan Berbilang Baris daripada Subkueri ke dalam Jadual MySQL Apabila Subkueri Mengembalikan Lebih Daripada Satu Baris?
Memasukkan Berbilang Baris daripada Subkueri ke dalam Jadual MySQL
Untuk memasukkan berbilang baris ke dalam jadual MySQL daripada subkueri, adalah penting untuk memastikan bahawa subquery hanya mengembalikan satu baris. Dalam coretan kod yang disediakan, pertanyaan sisipan:
INSERT INTO Results (People, names) VALUES ( (SELECT d.id FROM Names f JOIN People d ON d.id = f.id), ("Henry"), );
cuba untuk memasukkan dua nilai ke dalam lajur Orang dan nama. Walau bagaimanapun, subkueri di dalam kurungan pertama mengembalikan berbilang baris untuk d.id. Ini membawa kepada ralat "Subquery mengembalikan lebih daripada 1 baris."
Penyelesaian dengan Rentetan Statik Gabungan
Untuk memasukkan rentetan statik "Henry" sambil mengekalkan keputusan daripada subquery, ubah suai pertanyaan seperti berikut:
INSERT INTO Results (People, names) SELECT d.id, 'Henry' FROM Names f JOIN People d ON d.id = f.id
Dengan menggabungkan rentetan statik "Henry" dengan subquery menggunakan koma, pertanyaan secara eksplisit menetapkan nilai untuk lajur nama kepada "Henry" untuk setiap baris dikembalikan oleh subquery. Ini memastikan bahawa pertanyaan memasukkan hasil subkueri bersama-sama dengan nilai yang ditentukan ke dalam jadual tanpa menghadapi ralat.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Berbilang Baris daripada Subkueri ke dalam Jadual MySQL Apabila Subkueri Mengembalikan Lebih Daripada Satu Baris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!