mysql之更新旧数据

时间:2021-11-04 18:35:42

场景:

有如下两个表

TableA

ID ROW1 ROW2 ROW3 ROW4
1 2 3 4 5

TableB

ID RowA_ID ROWA_ROW4
1 2


最开始的时候表B只有ID、RowA_ID两个字段,由于某些便捷性原因等,现在要增加一个字段“ROWA_ROW4”,现在就要给以前的记录补充对应的ROWA_ROW4数据;


分析:

我最开始想到的是写一段java代码,循环从TableA取出数据存进TableB;

后来赖哥给出一种简单的sql解决方式,如下。


SQL代码

-- 设置不自动提交

SET autotatbt = 0;

-- 更新数据

UPDATE TableB tb 

       SET tb.ROWA_ROW4= (

SELECT ROW4 FROM TableA ta WHERE ta.ID= tb.RowA_ID);


-- 查询是否达到效果

SELECT * from TableA ta ,TableB tb where ta.ID= tb.RowA_ID;


注意:

此方法只适用于补充同为横表的数据,无法将横表的数据插入到竖表中;

本文出自 “ydhome” 博客,请务必保留此出处http://ydhome.blog.51cto.com/8948432/1875992