MySQL 中的 update join on 使用方法

学习笔记 马富天 2020-06-17 16:58:03 122 0

【摘要】大家都经常会在 select 时使用 join on 来关联其它表,但是相信很少有去了解在 update 时也是可以使用 join on 来关联多表修改的。本文就对 update join on 的使用方法给出小例子,希望能够给大家在工作中运用到这种方法。

需要用到的数据:

  1. create table my_table(id int,name varchar(100),age int,sex varchar(200),phone varchar(11));
  2. create table my_table_history(id int,name varchar(100),age int,sex varchar(200),phone varchar(11));
  3. insert into my_table values(1,'mafutian',18,'男','17095248811'),
  4. (2,'hello',18,'男','17095248812'),(3,'world',18,'男','17095248813');
  5. insert into my_table_history values(1,'mafutian',20,'男','17095248822'),
  6. (2,'hello',21,'男','17095248823'),(3,'world',22,'男','17095248824');
请输入图片名称

如上图所示,假设有两种表 my_table、my_table_history,其中 my_table_history 是 my_table 的备份表,例如现在需要将 my_table 表中的 id >= 2 的数据恢复到备份的数据,那么就可以用 update join on 方式来恢复数据,具体修改方式如下:

  1. update my_table t join my_table_history h on t.id = h.id 
  2. set t.name = h.name,t.age = h.age,t.phone = h.phone,t.sex = h.sex 
  3. where t.id >= 2;
  4. -- 受影响的行: 2
  5. -- 时间: 0.005s

那么执行之后 id >= 2 的数据就恢复到备份的数据了。

请输入图片名称

版权归 马富天个人博客 所有

本文标题:《MySQL 中的 update join on 使用方法》

本文链接地址:http://www.mafutian.com/449.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

1

0

上一篇《 linux 文件锁 flock 解决定时任务超时重复执行问题 》 下一篇《 数组的随机访问【简介】 》

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码

TOP10

  • 浏览最多
  • 评论最多