首頁 >資料庫 >mysql教程 >使用MySQL的INSERT INTO...SELECT時如何有效率地保留所有欄位?

使用MySQL的INSERT INTO...SELECT時如何有效率地保留所有欄位?

Patricia Arquette
Patricia Arquette原創
2024-12-04 13:10:10480瀏覽

How to Efficiently Preserve All Columns When Using MySQL's INSERT INTO...SELECT?

透過高效的INSERT INTO...SELECT 保留列資料

將資料從一個MySQL 表傳輸到另一個MySQL 表並保留所有列時,出現了共同的挑戰。使用格式 INSERT INTO this_table_archive (*) VALUES (SELECT * FROM this_table WHERE entry_date

MySQL 手冊中概述的正確語法如下:

INSERT INTO this_table_archive (col1, col2, ..., coln) 
SELECT col1, col2, ..., coln
FROM this_table
WHERE entry_date < '2011-01-01 00:00:00'; 

此修訂後的格式明確命名目標表中的每一列,確保所有資料都被正確複製。

此外,如果 id 列配置為自動增量並且兩個表都包含數據,則將其從列表中排除可能會更有利列列表。這可以防止因插入重複 ID 而引起的潛在衝突。但是,如果目標表為空,則不需要此省略。

以上是使用MySQL的INSERT INTO...SELECT時如何有效率地保留所有欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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