場景:
有如下兩個表
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;
注意:
此方法只適用於補充同爲橫表的數據,無法將橫表的數據插入到豎表中;