从现有表中不存在的表中插入行

rdlzhqv9  于 2021-06-25  发布在  Mysql
关注(0)|答案(2)|浏览(235)

我有两个具有相同模式/结构的表。我想添加第二个表中第一个表中不存在的行。
例如表1

UserID ProjectName Task        FirstName
1       ABC         Design     Sam 
2       DEF         Writing    John

表2

UserID  ProjectName   Task   FirstName
    1       ABC           Design     Sam 
    2       DEF         Writing    John
    3       GHI         Presenting Tom
    1       LMN         Design     Sam

在本例中,复合键是(userid、projectname、task)。我想把表2中的最后两条记录插入表1,因为表1没有这些记录。
在这件事上任何帮助都将不胜感激。

juzqafwq

juzqafwq1#

INSERT INTO tbl1 (UserID, ProjectNam, Task, FirstName)
  SELECT UserID, ProjectNam, Task, FirstName
  FROM tbl2 WHERE project_name not in (select project_name from tbl1);
xqnpmsa8

xqnpmsa82#

您可以使用插入。。。选择语法

insert into table1(UserID, ProjectName, Task, FirstName) select UserID, 
ProjectName, Task, FirstName from table2 t2 left join table1 t1 on 
t2.ProjectName!=t1.ProjectName

相关问题