透過高效的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中文網其他相關文章!