1

我运行了一个数据采集板,我生成了一个 php 代码,每 15 分钟提取一次数据,然后将其插入一个表中。

这工作正常。但是,如果由于某种原因连接丢失或缺少某些值,我想生成一个恢复功能,所以我想知道如何向董事会索要一些值,但我需要弄清楚如何发布恢复的数据和然后按时间戳对整个表顺序进行排序。

为此,我想使用 php,并放置此代码

$result = mysql_query("SELECT * FROM `table` ORDER BY `date` DESC;" );

但这不会造成任何影响。我需要对表格而不是结果进行排序。

有什么简单的方法可以做到这一点吗?

编辑

使用时间戳提取数据,现在我的表具有以下结构:

id  |  TimeStamp  |  Temperature
  • idINT NOT NULL AUTO_INCREMENT PRIMARY KEY
  • timestamp
  • temperaturevarchar(15)

php函数获取adquicition board的最后一个值,插入到最后一个id上。我只是放置时间戳来制作数据的历史记录。但我希望表按此字段排序,以防恢复。为了进行恢复,对板的调用功能与连续模式不同。这就是我使用顺序插入的原因,如果在丢失数据恢复完成后我可以使用时间戳对整个表进行排序,我会徘徊。

4

2 回答 2

0

根据我对问题的阅读,这与希望表中的数据根据​​时间戳插入而不是按顺序插入有关。

也许如果作者能够澄清这种需求是如何产生的,那么 SO 社区可能会提供更多帮助。

于 2012-06-27T04:56:59.597 回答
0

我知道这不是您想听到的答案,但是 - 不幸的是 - 这是真的:没有“表格顺序”之类的东西 - 表格是行的集合,而不是行的序列。这就是为什么您只能对结果进行排序,而不能对表本身进行排序(操作将毫无意义)。

你需要做的是重新思考你的设计,花一些时间阅读一本关于数据库的好书,并摆脱一些错误的假设。

如果您想要实现的是“确保根据时间戳对主键进行排序”,那么您不应该这样,有一些方法,但它们都是疯狂的。最简单的(可能)是使用select into将所有行转储到其他表,然后从原始表中删除它们并再次插入。无论如何:不要尝试这个。你不需要订购你的桌子。

于 2012-06-30T20:44:13.477 回答