当前位置:   article > 正文

MySQL表关联更新_mysql 关联更新

mysql 关联更新

背景:

有两张表,一张class信息表,一张student信息表,但student表里的信息存在错误,需要用class表中的信息去更新student表数据。
在这里插入图片描述
在这里插入图片描述


  • 方法一:

update student_info s 
set class_name = (select class_name from class_info where class_id = s.class_id)
  • 1
  • 2

在这里插入图片描述
【结果】:通过关联字段关联上的数据,内容相应更新;没关联上的,内容变为null



  • 方法二:

update student_info s, class_info c set s.class_name = c.class_name
where s.class_id = c.class_id
  • 1
  • 2

在这里插入图片描述
【结果】:通过关联字段关联上的数据,内容相应更新;没关联上的,内容不变



  • 方法三(不推荐):

update student_info s
left join class_info c on s.class_id = c.class_id
set s.class_name = c.class_name
  • 1
  • 2
  • 3

【结果】:通过关联字段关联上的数据,内容相应更新;没关联上的,内容变为null
在这里插入图片描述
【注意】:left join这种写法很容易写错,会导致关联左表的信息被更新,right join同理。而join的写法类同方法二,因此结果也与方法二相同。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/142089
推荐阅读
相关标签
  

闽ICP备14008679号