如何在MySQL中首先显示最新记录?

时间:2014-02-11 02:04:28

标签: php mysql sql

我在MySQL中创建了一个数据库。当我尝试获取表的所有记录时,最后添加的记录将显示在最后。如何在不使用日期时间列的情况下首先有效地显示最新记录?添加datetime列意味着重新初始化所有表,这对我来说似乎太麻烦了。

4 个答案:

答案 0 :(得分:2)

  

如何在不使用的情况下首先有效地显示最新记录   日期时间列?

如果您有自动增量ID列,您可以尝试按记录ID按降序排序。

e.g。

SELECT * FROM my_table ORDER BY id DESC;

答案 1 :(得分:0)

要从上一个答案继续,许多ORM会输入CreatedAt和UpdatedAt列。按顺序对CreatedAt DESC进行操作,然后按照您想要的顺序对其进行操作,它与您使用的Id无关。

答案 2 :(得分:0)

你的桌子有索引吗?那么你可以

SELECT * FROM table ORDER BY index DESC 

答案 3 :(得分:0)

在适当的(按时间排序的)列上使用ORDER BY。如上所述,您可以使用自动递增的主键,但这不允许您选择日期范围。

FWIW,将时间戳列添加到现有表并不困难,并且您可以在一定范围内返回行。

近似语法:

ALTER TABLE `table_name`
ADD COLUMN `created_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;

ALTER TABLE `table_name`
ADD INDEX `created_time` (`created_time`);