将MySQL表的所有行传输到另一个

时间:2009-11-20 11:03:20

标签: mysql

我想将所有行从一个表批量插入另一个表。我对如何使用Select with Insert感到困惑。如果新表不存在,是否有自动创建的方法?

2 个答案:

答案 0 :(得分:3)

有两种方法可以做到这一点:

一个是INSERT INTO ... SELECT,它会将查询的结果集插入到与查询具有相同数据结构的现有表中

INSERT INTO MyTable_Backup
SELECT * FROM MyTable

另一个是CREATE TABLE ... SELECT ...,它将根据查询的数据结构创建一个新表,插入结果集。

CREATE TABLE MyTable_Backup
SELECT * FROM MyTable;

但有一点需要注意的是,这与源表的索引不匹配。如果您需要索引,则需要手动添加它们。

答案 1 :(得分:2)

这里建议

trigger和/或select into