提问者:小点点

MYSQL从另一个表更新数据,如果存在其他插入[重复]


我使用mysql数据库。我有一个主表与id作为主键(自动增量,而不是空,唯一)约束。

我的主桌:

在第二个表中,我有相同的字段,但没有id列

现在我需要用下面的条件从辅助表更新主表。

如果主表中存在用户数据,则应将其替换为次要表数据,并添加新行。(例如:user1的第一行需要替换为次要表数据,主表中应添加user1的新行)

预期产出:

我试过插入...在重复更新。它不工作!有什么帮助吗?


共1个答案

匿名用户

尝试以下步骤。

步骤1:如果用户存在于第二个表中,则要替换主表中的数据,请首先删除主表中存在于第二个表中的所有数据

delete from main_table where login_name in (select login_name from second_table);

第二步:

insert into main_table (login_name, mgr_name, ...)
select login_name, mgr_name,... from second_table

在第一步中,您将删除第二个表中的用户,在第2步中,您将插入第二个表中的所有用户,因此最终将替换主表中的现有用户。