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