Rumah > Artikel > pangkalan data > Bagaimana untuk Membetulkan Ralat \"Column Count Mimatch\" Apabila Memindahkan Data Antara Jadual MySQL?
Cara Memindahkan Data dari Satu Jadual ke Jadual Lain dalam MySQL
Apabila berhadapan dengan tugas memindahkan data dari satu jadual ke jadual lain, Pernyataan INSERT boleh berguna. Dalam kes khusus anda, anda mengalami ralat dengan pertanyaan anda:
INSERT INTO mt_magazine_subscription ( magazine_subscription_id, subscription_name, magazine_id, status ) VALUES ( (SELECT magazine_subscription_id, subscription_name, magazine_id FROM tbl_magazine_subscription ORDER BY magazine_subscription_id ASC), '1')
Mesej ralat menunjukkan bahawa bilangan lajur dalam pernyataan INSERT tidak sepadan dengan bilangan nilai yang diberikan. Isu di sini ialah anda cuba memasukkan hasil subkueri sebagai nilai tunggal, yang tidak mungkin.
Penyelesaian: INSERT...SELECT Syntax
Untuk menangani perkara ini, anda harus menggunakan sintaks INSERT...SELECT, yang membolehkan anda memasukkan data secara terus dari satu jadual ke jadual yang lain. Berikut ialah pertanyaan yang diperbetulkan:
INSERT INTO mt_magazine_subscription ( magazine_subscription_id, subscription_name, magazine_id, status ) SELECT magazine_subscription_id, subscription_name, magazine_id, '1' FROM tbl_magazine_subscription ORDER BY magazine_subscription_id ASC
Dalam pertanyaan yang disemak ini:
Dengan ini pembetulan, pertanyaan anda harus berjaya memasukkan data daripada tbl_magazine_subscription ke dalam mt_magazine_subscription dengan nilai status yang ditentukan.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \"Column Count Mimatch\" Apabila Memindahkan Data Antara Jadual MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!