我已经查看了现有的答案,但似乎找不到合适的答案,所以:
我有一个填充了php表单的数据库,其中包含多个列:
名称| latest_figure | previous_figure1 | previous_figure2 | previous_figure3
我可以使用典型的mysql查询来更新表,但是如果数据已存在于该字段中,我需要在更新时向右移动数据。
例如,如果我们有:
name = Lee,latest_figure = 80
我现在想用
更新表格name = Lee,latest_figure = 85,我希望80的原始数字移入previous_figure1列。
如果我们再次更新表格,并且name = Lee有一个latest_figure = 88,我希望85移动到previous_figure1和80移动到previous_figure2,依此类推。
保存数据的原因是出于图形原因显示进度/恶化等。
非常感谢任何帮助。
答案 0 :(得分:2)
我认为你应该改写你的桌子。你应该有一个表:
名称|图|时间戳
然后您可以随时按名称和时间戳顺序获取数字,以便了解哪个是最新的。这比制作一个新专栏更容易。
希望这有帮助。
答案 1 :(得分:0)
如果设置了主键,您可以尝试使用ON DUPLICATE KEY。
INSERT INTO table (name, latest_figure) VALUES("Lee", 85) ON DUPLICATE KEY UPDATE previous_figure3 = previous_figure2, previous_figure2 = previous_figure1, previous_figure1 = latest_figure, latest_figure = 85;
希望有所帮助:)