我如何按最后更新行订购

时间:2014-05-28 12:27:52

标签: php

我有一个Sql Query来从我的表中获取所有信息。

我使用foreach创建了一个列表。

我想按最后更新的行排序此列表。

喜欢这个

       $query - "SELECT * FROM table ORDER BY last_updated_row";
//call Query here

当我更新某一行时,我想把这一行放在列表顶部

我听说过time_stamp,我可以使用time_stamp吗?

我该怎么做?

由于

2 个答案:

答案 0 :(得分:1)

假设您使用MySQL,您的表需要像这样

CREATE TABLE table (
  last_updated_row TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

这将为该行提供一个创建时间戳,并在影响该行的每个更新语句上更新它

http://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html

答案 1 :(得分:0)

如果需要,您可以使用表中的任何日期/日期时间/时间戳列进行排序。唯一的问题是你需要在表格中拥有它。

以上任何一种都允许按升序/降序排序,但在插入/更新行时需要保留。

假设您有以下结构:

table - someTable
id    someVale    updateTime
1       54634       ......
2       65138       ......
3       94141       ......
4       84351       ......

updateTime列的类型无关紧要 - 无论是日期,日期时间,时间戳,简单的order by updateTime都可以使用。

但是您需要确保对该行进行的每次插入/更新都会更新列,以便排序为真。