Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Menyelesaikan Ralat \"Kiraan lajur tidak sepadan dengan kiraan nilai\" Semasa Memasukkan Data dalam MySQL?

Bagaimana untuk Menyelesaikan Ralat \"Kiraan lajur tidak sepadan dengan kiraan nilai\" Semasa Memasukkan Data dalam MySQL?

DDD
DDDasal
2024-10-26 18:24:29390semak imbas

How to Resolve

Memasukkan Data dari Satu Jadual ke Jadual Lain dalam MySQL

Apabila cuba memasukkan data dari satu jadual ke jadual lain menggunakan pertanyaan seperti:

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')

anda mungkin menghadapi mesej ralat:

#1136 - Column count doesn't match value count at row 1

Ini kerana bilangan lajur yang dinyatakan dalam pernyataan INSERT tidak sepadan dengan bilangan nilai yang disediakan dalam subkueri.

Penyelesaian

Untuk menyelesaikan isu ini, gunakan sintaks INSERT...SELECT, seperti berikut:

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 diperbetulkan ini, '1 nilai ' untuk lajur status dipetik terus dalam bahagian SELECT. Dengan menggunakan sintaks INSERT...SELECT, anda menentukan lajur untuk disisipkan dan memilih nilai untuk disisipkan daripada jadual atau subkueri lain, memastikan bilangan lajur dan nilai sepadan.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \"Kiraan lajur tidak sepadan dengan kiraan nilai\" Semasa Memasukkan Data dalam 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