如何在SQL表中添加时间戳,然后按时间回显最新的行?

时间:2014-08-24 17:00:24

标签: php mysql sql

我有一个工作脚本,可以回显SQL DB中的数据。我想知道如何添加一种方法来记录添加行的时间,然后将最新的行回显到我的表中。您可以在我的网站HERE上查看示例。

我希望最新的行显示在顶部,而不是底部。我确信有一个简单的解决方案,但正如你所知,我只是在学习这个。谢谢,如果有人有解决方案。我已经尝试在SQL查询中通过DESC和ASC进行排序,但是按字母顺序对它进行排序,我需要它在顶部显示表的最新行。

2 个答案:

答案 0 :(得分:1)

documentation中详细描述了在记录中添加默认“创建日期”的方式。代码看起来像:

alter table <tablename> add CreatedAt datetime default CURRENT_TIMESTAMP;

(或者在create table语句中更好)。我通常将此列命名为CreatedAt。然后我有时会CreatedBy(对于用户)和CreatedOn(对于系统)。

要获取结果:

select *
from <tablename> t
order by CreatedAt desc;

答案 1 :(得分:0)

只需在数据库表中添加一列,如time(使用DATETIME数据类型),然后在插入查询time = NOW()中添加。当您尝试从数据库中获取数据时,请执行此操作

SELECT * FROM table_name ORDER BY time DESC