我注意到有时我的 SQL 会对表中的数据重新排序,当我调用它来获取它时,它的顺序是相同的,但顺序是乱序的。 例子: ID 是主键,但有时它会将新条目放在列表的顶部。当我的 pho 调用数据时,现在它出现了故障。 Mysql为什么要这样做?
http://cleehamilton.com/Screenshot_2014-10-14-11-47-51_1.jpg
最佳答案
在没有 ORDER BY
子句的情况下,MySQL 响应任何类型的查询返回的行的顺序在形式上是不可预测的。有时 MySQL 以看起来合理的顺序返回这些行,但如果您的查询中没有 ORDER BY
,那总是意外。
这可能会让不熟悉大型复杂软件系统的人感到困惑。许多构建他们的第一个数据库应用程序的人都被这个问题所困扰。有时小结果集的顺序(偶然地)是自然顺序,但随着系统的增长,顺序会发生变化。
关于mysql - 为什么 mysql 有时会从主键重新排序表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26368291/