Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Membetulkan Ralat \"Column Count Mimatch\" Apabila Memindahkan Data Antara Jadual MySQL?

Bagaimana untuk Membetulkan Ralat \"Column Count Mimatch\" Apabila Memindahkan Data Antara Jadual MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-10-31 09:26:29982semak imbas

How to Fix

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:

  • Subkueri digunakan untuk memilih data yang sesuai daripada tbl_magazine_subscription.
  • '1' nilai untuk lajur status dipetik terus dalam klausa SELECT.
  • Lajur dalam pernyataan INSERT dan klausa SELECT kini sepadan, menyelesaikan isu ketidakpadanan kiraan lajur.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn