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

时间:2018-04-18 08:22:58

标签: mysql

我有两个具有相同架构/结构的表。我想在第二个表中添加第一个表中没有的行。

例如表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)。我想将Table2中的最后两条记录插入表1中,因为Table1没有这些记录。

非常感谢任何有关此事的帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用INSERT ... SELECT Syntax

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

答案 1 :(得分:0)

foreach($seats as $key => $value)
{
    //Your code goes here, 
    //First iteration should give you $key = 0, $value = "seat1", etc...
}