如何在MySQL 中將資料從一個表傳輸到另一個表
當面臨將資料從一個表傳輸到另一個表的任務時, INSERT語句可以派上用場。在您的特定情況下,您遇到查詢錯誤:
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')
錯誤訊息表示 INSERT 語句中的列數與提供的值的數量不符。這裡的問題是您嘗試將子查詢的結果作為單一值插入,這是不可能的。
解決方案:INSERT...SELECT 語法
要解決這個問題,您應該使用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
在此修改後的查詢中:
有了這個更正後,您的查詢應該會成功地將資料從 tbl_magazine_subscription 插入到具有指定狀態值的 mt_magazine_subscription 中。
以上是在 MySQL 表之間傳輸資料時如何修復「列計數不匹配」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!