如何在SQL中将行从一个表复制到另一个表?

时间:2017-03-12 05:46:41

标签: sql

我一直在尝试将一个表中列出的数据复制到另一个表中,这两个数据都位于同一个数据库中。但是,每次输入所有内容时,它都会运行查询并更新0行。

我尝试了多种变体,试图让它发挥作用。一种这样的尝试如下所列。我在研究试图完成这项工作时发现了这一点。

UPDATE 
     t1
SET 
     t1.column = t2.column
FROM 
     Table1 t1 
     INNER JOIN Table2 t2 
     ON t1.id = t2.id;

对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

UPDATE只会修改已存在的记录,如果要插入另一个表中存在的行使用INSERT

您可以将INSERTSELECT合并,将整个table1复制到table2

INSERT INTO table2 SELECT * FROM table1;

您可以使用INSERT IGNORE仅复制尚不存在的记录(基于唯一键)。

如果表格不同,您还可以指定要复制的字段:

INSERT INTO table2 (id, first_name, last_name) SELECT id, name, surname FROM table1;