首頁  >  文章  >  資料庫  >  如何在MySQL中正確地將資料從一張表插入另一張表?

如何在MySQL中正確地將資料從一張表插入另一張表?

Barbara Streisand
Barbara Streisand原創
2024-11-04 00:26:30316瀏覽

How to Correctly Insert Data from One Table to Another in MySQL?

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

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