首頁  >  文章  >  資料庫  >  如何解決在 MySQL 中插入資料時出現「列計數與值計數不符」錯誤?

如何解決在 MySQL 中插入資料時出現「列計數與值計數不符」錯誤?

DDD
DDD原創
2024-10-26 18:24:29390瀏覽

How to Resolve

在MySQL 中將資料從一個表插入到另一個表

嘗試使用以下查詢將資料從一個表插入另一個表時:

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

您可能會遇到錯誤訊息:

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

這是因為INSERT 語句中指定的列數與子查詢中提供的值的數量不符。

解決方案

要解決此問題,請使用INSERT...SELECT 語法,如下所示:

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 

在此更正的查詢中, '1 ' 狀態列的值直接在SELECT 部分中引用。透過使用 INSERT...SELECT 語法,您可以指定要插入的資料列,並從另一個表或子查詢中選擇要插入的值,確保列數和值相符。

以上是如何解決在 MySQL 中插入資料時出現「列計數與值計數不符」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn