在MySQL 中將資料從一張表插入到另一張表
將資料從一張表插入另一張表是資料庫管理中常見的操作。但是,如果語法不正確,有時可能會導致錯誤。
考慮以下查詢:
<code class="sql">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')</code>
此查詢旨在將 tbl_magazine_subscription 表中的資料插入 mt_magazine_subscription 表中。但是,它會導致錯誤:
#1136 - Column count doesn't match value count at row 1
要解決此錯誤,我們可以使用 INSERT...SELECT 語法。更新後的查詢為:
<code class="sql">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</code>
在這個修改後的查詢中,我們直接在 SELECT 語句中將 status 欄位的值指定為 '1',確保值的數量與目標表。此修改允許資料插入成功進行。
以上是如何在MySQL中正確地將資料從一張表插入另一張表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!