MySQL,ORDER BY插入顺序,没有排序列

jac*_*des 11 mysql

如何从表格中订购值,从插入时开始递增.此事件没有特殊列,如时间戳或自动增量.

我知道不建议这样做......我仍然想知道如何做到这一点.

据我从答案中了解,如果在插入值之前没有添加排序列,例如:timestamp或autoincremental,则无法通过插入对它们进行排序.

spe*_*593 11

如果查询中没有ORDER BY子句,则无法保证以任何特定顺序返回行.

对于返回表中所有行的所有列的简单查询...例如

SELECT * FROM mytable ; 
Run Code Online (Sandbox Code Playgroud)

对于这样的查询,MySQL很可能会从表的开头执行全表扫描,因此可能会按照在物理存储中找到的顺序返回行.

这可能大致对应于插入行的顺序,如果没有删除,没有更新和没有重组,其中插入行的空间稍后被回收,并重新用于存储新插入的行.

但是,这种行为无法保证.要按插入顺序返回行,您确实需要将该信息(即插入行的顺序)存储在行的列中.