博主辛苦了,我要打赏银两给博主,犒劳犒劳站长。
【摘要】大家都经常会在 select 时使用 join on 来关联其它表,但是相信很少有去了解在 update 时也是可以使用 join on 来关联多表修改的。本文就对 update join on 的使用方法给出小例子,希望能够给大家在工作中运用到这种方法。
需要用到的数据:
create table my_table(id int,name varchar(100),age int,sex varchar(200),phone varchar(11));
create table my_table_history(id int,name varchar(100),age int,sex varchar(200),phone varchar(11));
insert into my_table values(1,'mafutian',18,'男','17095248811'),
(2,'hello',18,'男','17095248812'),(3,'world',18,'男','17095248813');
insert into my_table_history values(1,'mafutian',20,'男','17095248822'),
(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 方式来恢复数据,具体修改方式如下:
update my_table t join my_table_history h on t.id = h.id
set t.name = h.name,t.age = h.age,t.phone = h.phone,t.sex = h.sex
where t.id >= 2;
-- 受影响的行: 2
-- 时间: 0.005s
那么执行之后 id >= 2 的数据就恢复到备份的数据了。
版权归 马富天个人博客 所有
本文标题:《MySQL 中的 update join on 使用方法》
本文链接地址:http://www.mafutian.com/449.html
转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
顶1
踩0
评论审核未开启 |