首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL更新来自另一个表的数据,如果存在,否则插入

问MYSQL更新来自另一个表的数据,如果存在,否则插入
EN

Stack Overflow用户
提问于 2020-01-23 07:45:46
回答 1查看 512关注 0票数 0

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

我的主表:

​

​

辅助表中的我有相同的字段,但没有id列

​

​

现在,我需要使用以下条件从辅助表中更新主表。

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

预期输出:

​

​

我尝试过使用insert...on重复更新。不管用!有什么帮助吗?

EN

回答 1

Stack Overflow用户

发布于 2020-01-23 08:16:15

尝试以下步骤。

步骤1:如果用户存在于第二个表中,当您希望替换主表中的数据时,首先从第二个表中的主表中删除所有数据。

代码语言:javascript
复制
delete from main_table where login_name in (select login_name from second_table);

第2步:

代码语言:javascript
复制
insert into main_table (login_name, mgr_name, ...)
select login_name, mgr_name,... from second_table

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

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59873683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档