php - 如果该列中已存在数据,则 MySQL 将数据从一列移动到另一列

标签 php mysql

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

我有一个由 php 表单填充的数据库,该表单包含许多列:

名称 |最新图|上一个图 1 |上一个图2 |上一个图3

我可以使用典型的 mysql 查询来更新表,但如果该字段中已存在数据,我需要在更新时将数据移至右侧。

例如,如果我们有:

name=李,latest_figure=80

我现在想用以下内容更新表格

name=Lee,latest_figure=85,我希望将原始数字 80 移动到 previous_figure1 列中。

如果我们再次更新表,并且 name=Lee 有一个latest_figure=88,我希望 85 移动到 previous_figure1,80 移动到 previous_figure2,依此类推。

保留数据的原因是出于图形原因以显示进度/恶化等。

任何帮助将不胜感激。

最佳答案

我认为你应该重写你的表格。您应该有一个表,其中包含:

名称 |图|时间戳

然后,您始终可以按名称获取数据并按时间戳排序,以便知道哪个是最新的。这比总是创建新专栏更容易。

希望这有帮助。

关于php - 如果该列中已存在数据,则 MySQL 将数据从一列移动到另一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16194387/

相关文章:

php - 以这样的方式排列记录,D 类别始终排在第一位,然后 E 和 F 的比例为 1 :1

javascript - 使用 Ajax 根据另一个下拉选项填充下拉列表

mysql - 如何通过 sql 请求将文本添加到指定列(例如,向已注册的用户添加电子邮件)

PHP phar 可能的用法

javascript - YIi应用程序的可扩展性和并发性

php - 事件驱动的 CMS - 优点和缺点

sql - 在 MySQL 中类型转换

MySQL:如何使用 ORDER BY 内联函数?

php - unix 时间戳和 php

mysql - ejabberd 是否支持在 MySQL 数据库中存储 muc 房间信息?