當嘗試將資料從MySQL 中的一個表插入另一個表時,您可能會遇到以下問題:遇到錯誤「#1136 - 列計數與第1 行的值計數不符。」當INSERT 語句中指定的列數與檢索到的資料中的列數不符時,就會發生這種情況。
在提供的查詢中,發生錯誤的原因是INSERT 語句嘗試將子查詢的結果插入到多個列中。但是,子查詢僅檢索三個欄位(magazine_subscription_id、subscription_name、magazine_id),而 INSERT 語句則指定了四個欄位(magazine_subscription_id、subscription_name、magazine_id、status)。
要解決此錯誤,您可以修改INSERT 語句直接包含狀態列的缺失值,如下面修改後的查詢所示:
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」文字指定為狀態列的值,確保列數與值數相符。
以上是以下是一些標題選項,以問題格式擷取查詢和解決方案: * MySQL INSERT 錯誤:「列計數與值計數不符」 - 如何修復? * \'列數做的詳細內容。更多資訊請關注PHP中文網其他相關文章!