首页 >数据库 >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