我想用一臺這樣的:是否可以在MySQL表中向下移動列數據?
+------+------------+-----------+
| id | col1 | col2 |
+------+------------+-----------+
| 1 | abc | mno |
+------+------------+-----------+
| 2 | def | pqr |
+------+------------+-----------+
| 3 | ghi | stu |
+------+------------+-----------+
有沒有一種方法來添加一個新行和下移列?表應該是這樣的......
+------+------------+-----------+
| id | col1 | col2 |
+------+------------+-----------+
| 1 | abc | |
+------+------------+-----------+
| 2 | def | mno |
+------+------------+-----------+
| 3 | ghi | pqr |
+------+------------+-----------+
| 4 | jkl | stu |
+------+------------+-----------+
新行插入與[ROW4,COL1] =「JKL」單元格的值,但我想下移COL2數據,所以[ROW1,COL2現在變成空。
在此先感謝。
編輯:謝謝雷達& 2unco;有一齣戲,你也可以在同一個語句中移動多個列...
UPDATE mytable t1
LEFT OUTER JOIN mytable t2 ON T1.id=T2.id + 1
SET t1.col2 = t2.col2, t1.col3 = t2.col3;
是的,這是可能的。但是在INSERT之後(當「jkl」/「」在記錄中時),UPDATE可以自己自己加入並且用來自先前的ID識別的行的值更新。 – user2864740 2014-10-18 01:16:27
我們如何處理我們必須反向更新行的事實?即如果我們先更新id 1(並將其設置爲null),那麼id 2和3和4將全部變爲null。我們必須明確地按照相反的順序進行。或者... SQL會「一次完成」嗎? – 2014-10-18 01:21:49
@ 2unco - 不確定你的意思;我想模擬MySQL表中的shift()和push()JavaScript數組方法,所以我只是插入新行;以前的行將永遠不會更新。 – Data 2014-10-18 01:34:37