Memasukkan Data dari Satu Jadual ke Jadual Lain dalam MySQL
Memasukkan data dari satu jadual ke jadual lain ialah operasi biasa dalam pengurusan pangkalan data. Walau bagaimanapun, ia kadangkala boleh menyebabkan ralat jika sintaks tidak betul.
Pertimbangkan pertanyaan berikut:
<code class="sql">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')</code>
Pertanyaan ini bertujuan untuk memasukkan data daripada jadual tbl_magazine_subscription ke dalam jadual langganan mt_magazine_subscription. Walau bagaimanapun, ia mengakibatkan ralat:
#1136 - Column count doesn't match value count at row 1
Untuk menyelesaikan ralat ini, kita boleh menggunakan sintaks INSERT...SELECT. Pertanyaan yang dikemas kini ialah:
<code class="sql">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</code>
Dalam pertanyaan yang disemak ini, kami secara langsung menentukan nilai lajur status sebagai '1' dalam pernyataan SELECT, memastikan bilangan nilai sepadan dengan bilangan lajur dalam jadual sasaran. Pengubahsuaian ini membolehkan pemasukan data diteruskan dengan jayanya.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Data dengan Betul dari Satu Jadual ke Jadual Lain dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!