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

DDD
發布: 2024-10-26 18:24:29
原創
389 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!