答案 0 :(得分:5)
我认为以下代码适合您的情况:
INSERT INTO table1 (column1,column2)
SELECT oldcolumn1,oldcolumn2
FROM table2
您可以选择添加where子句。
答案 1 :(得分:2)
使用此代码并查看以下链接
insert语句实际上有一个语法来做到这一点。如果您指定列名而不是选择" *"这会更容易。虽然:
INSERT INTO new_table (Foo, Bar, Fizz, Buzz)
SELECT Foo, Bar, Fizz, Buzz
FROM initial_table
-- optionally WHERE ...
INSERT INTO ... SELECT FROM
语法适用于您插入的表格(" new_table"在我上面的示例中)已经存在。正如其他人所说,SELECT ... INTO
语法适用于您希望在命令中创建新表的时候。
您没有指定是否需要将新表创建为命令的一部分,因此如果您的目标表已经存在,INSERT INTO ... SELECT FROM
应该没问题。
我希望这个答案对你有用。