1、背景说明

很多时候我们需要通过一张中间表的数据去更新另外一张表,而不仅仅是通过固定数值去更新,尤其是当数据量很大的时候,简单的复制粘贴就不大可行了。

2、MYSQL版本

SELECT VERSION() AS MYSQL版本;

如下图所示:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

MYSQL如何通过一张表更新另外一张表? Mysql 第1张

3、表示例

Student表:

MYSQL如何通过一张表更新另外一张表? Mysql 第2张

中间表Temp:

MYSQL如何通过一张表更新另外一张表? Mysql 第3张

我们需要用中间表的name、sex、age字段来更新Student表的对应字段

4、更新操作

UPDATE feifei.student s, feifei.temp t
SET s.name = t.name,
    s.sex = t.sex,
    s.age = t.age
WHERE s.student_id = t.student_id;

或者可以这样

UPDATE feifei.student s
INNER JOIN feifei.temp t ON t.student_id=s.student_id
SET s.name=t.name,
    s.age=t.age,
    s.sex=t.sex;

最终更新成功

MYSQL如何通过一张表更新另外一张表? Mysql 第4张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄