通过高效的 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中文网其他相关文章!