gpt4 book ai didi

MySQL ID PRIMARY KEY AUTO_INCREMENT 不按顺序排列

转载 作者:可可西里 更新时间:2023-11-01 08:35:30 26 4
gpt4 key购买 nike

我无法让我的数据库保持井井有条 我希望设置为 INT PRIMARY KEY AUTO_INCREMENT 的 ID 字段保持数字顺序。当我删除数据库中的所有条目时,问题就来了。在删除条目之前,一切都按预期顺序排列,在删除之后,而不是首先从较小的整数开始按数字顺序排列,它将始终按降序排列。谁能解释是什么原因造成的。

+----+------------+----------+---------+----------------+-----------+------------+-----------+---------+
| id | employeeID | date | timeIn | jobDescription | equipType | unitNumber | unitHours | timeOut |
+----+------------+----------+---------+----------------+-----------+------------+-----------+---------+
| 1 | 2 | 01/13/13 | 1:19 pm | Test1 | Dozer | 1D | 98 | 1:20 pm |
| 2 | 2 | 01/13/13 | 1:20 pm | Test2 | Dozer | 1D | 98 | 1:20 pm |
+----+------------+----------+---------+----------------+-----------+------------+-----------+---------+

删除所有行后:

+----+------------+----------+---------+----------------+-----------+------------+-----------+---------+
| id | employeeID | date | timeIn | jobDescription | equipType | unitNumber | unitHours | timeOut |
+----+------------+----------+---------+----------------+-----------+------------+-----------+---------+
| 4 | 2 | 01/13/13 | 1:22 pm | Test2 | Dozer | 1D | 98 | 1:22 pm |
| 3 | 2 | 01/13/13 | 1:22 pm | Test1 | Dozer | 1D | 98 | 1:22 pm |
+----+------------+----------+---------+----------------+-----------+------------+-----------+---------+

最佳答案

请记住,如果在您的 SELECT 查询中没有 ORDER BY 子句,该顺序实际上是不确定的,您不能也不应该依赖它以任何特定顺序排列。

我在这里看到的是用 id=4 插入的 Test2,假设您首先插入了 Test1 行,然后是您的 auto_increment 按预期工作。

如果您只是简单地执行了类似SELECT * FROM thistable 的操作,不要期望行按id ASC 排序。添加一个 ORDER BY 子句以对其进行明确说明。

SELECT * FROM thistable ORDER BY id ASC

由于这两个新行之间的所有其他列都具有相同的值,因此无论 MySQL 选择对哪一列进行排序,如果没有显式 ORDER BY,都没有任何区别。

关于MySQL ID PRIMARY KEY AUTO_INCREMENT 不按顺序排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14307179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com