Memasukkan Berbilang Baris daripada Subkueri ke dalam Jadual
Apabila cuba memasukkan berbilang baris ke dalam jadual menggunakan subkueri yang mengembalikan lebih daripada satu baris, anda mungkin menghadapi ralat 1242 (21000): Subquery mengembalikan lebih daripada 1 baris. Ralat ini timbul disebabkan oleh kekangan MySQL terhadap memasukkan berbilang baris menggunakan satu pernyataan INSERT.
Untuk menyelesaikan isu ini, gunakan teknik berikut:
Gabungkan data baris statik yang anda ingin masukkan dengan subquery itu. Sebagai contoh, jika anda ingin memasukkan nama "Henry" ke dalam lajur bernama "nama" untuk setiap baris yang dikembalikan oleh subkueri, 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
Dalam pertanyaan yang diubah suai ini, statik nilai 'Henry' digabungkan dengan subquery. Akibatnya, setiap baris yang dikembalikan oleh subkueri akan mempunyai lajur "nama" yang diisi dengan nilai 'Henry'.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Berbilang Baris dari Subkueri ke dalam Jadual dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!