mysql之更新旧数据

场景:

有如下两个表

TableA

IDROW1ROW2ROW3ROW4
12345

TableB

IDRowA_IDROWA_ROW4
12


最开始的时候表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;


注意:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章