【发布时间】:2019-08-17 01:11:47
【问题描述】:
我是数据库新手。我从数据库表中删除了几行(直到表末尾)。现在每次我通过 php 执行 INSERT 查询时,它都会在最后一个删除的行之后立即插入新行,并将之前的插入向下推一行。
如上图所示,通过查询从2019-08-18(红色矩形)删除行:
DELETE FROM mytable WHERE date > '2019-08-18'
现在新插入的顺序错误,如上图绿色矩形所示。虽然日期为 2019-08-19 的行先插入,但它被推到了表的末尾。
我做错了什么?
【问题讨论】:
-
ORDER BY id?ORDER BY date?id的顺序正确(43 到 48)。如果您需要按特定顺序排列的行,您应该定义顺序。 -
不要依赖数据库来订购您喜欢的东西。在拉取、组织或查看数据时使用 ORDER BY 子句以您想要的方式查看。
-
但我不知道是什么导致了这种行为?在删除查询之前,插入按预期工作;删除查询后,发生了什么???
-
这就是数据库的工作原理
标签: mysql