我已經通過現有的答案,看着這個存在,但似乎無法找到正確的適合,所以:的MySQL將數據移動到另一列,如果數據已經在該列
我有一個數據庫由具有多列的php表單填充:
name | latest_figure | previous_figure1 | previous_figure2 | previous_figure3
我可以使用典型的mysql查詢來更新表,但如果數據已經存在於該字段中,我需要將數據更新到右側進行更新。
例如,如果我們有:
名=李,latest_figure = 80
我現在想
名=李更新表,latest_figure = 85,我想原來80的數字移動到previous_figure1列中。
如果我們再次更新表,並且name = Lee有latest_figure = 88,我希望85移動到previous_figure1和80移動到previous_figure2,依此類推。
的原因的數據的保存爲圖形的原因,以顯示進度/惡化等
任何幫助將不勝感激。
您使用的是不同的數據庫結構TBH更加規範化,所以你可能有一個向tblUsers,tbldata的更好。 tblusers容器UserID,UserName。 tbldata包含自動增量ID列,用戶ID,數據,所以如果你想爲用戶拉出數據,你只需做「SELECT * FROM tbldata WHERE UserID = $ userid ORDER BY ID DESC」,最新的優先。如果您想先做最早的變更,請將DESC更改爲ASC。這種格式還允許您存儲更大的數據集,而無需每次都添加列。查看數據標準化(用z表示陰陽拼寫) – Dave 2013-04-24 14:21:24
嘗試'UPDATE table previous_figure3 = previous_figure2,previous_figure2 = previous_figure1,previous_figure1 = latest_figure,latest_figure = 85 WHERE name ='Lee'' – Waygood 2013-04-24 14:22:49