首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果数据已存在于某列中,则MySQL会将数据从一列移动到另一列

问如果数据已存在于某列中,则MySQL会将数据从一列移动到另一列
EN

Stack Overflow用户
提问于 2013-04-24 22:16:34
回答 2查看 435关注 0票数 0

我已经查看了现有的答案,但似乎找不到合适的答案,所以:

我有一个由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,依此类推。

保留数据的原因是为了图形化的原因来显示进展/恶化等。

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2013-04-24 22:20:08

我认为你应该重写你的表格。您应该有一个包含以下内容的表:

名称|图形|时间戳

然后,您总是可以按名称和按时间戳排序,这样您就可以知道哪个是最新的。这比总是创建一个新专栏更容易。

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2013-04-24 22:30:15

如果设置了主键,您可以尝试使用ON DUPLICATE KEY。

代码语言:javascript
复制
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;

希望它能有所帮助:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16194387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档