在MySQL中删除DELETE后,自动增量不会更正ID值

时间:2015-07-09 21:53:33

标签: php mysql sql sql-delete

我有一个不同帖子的博客。我们说我有10个帖子。当我选择删除DELETE FROM table WHERE id = 10的最新帖子时,会将其删除。

然而,我下一篇文章获得了ID 11。

所以我的数据库看起来像:

ID | post
11 | foo
9  | bar

但我删除的数字10不再存在。我怎样才能让我的下一篇文章获得ID 10?

ID列是自动增量。

1 个答案:

答案 0 :(得分:3)

我认为最好的答案是你不

这是关系数据库的预期(和正确)行为。

假设您通过帖子的ID获得与您的博客帖子相关的评论。如果您删除帖子并保留评论,则将其他帖子的ID更改为旧ID将导致评论与错误的帖子相关。

这只是一个微不足道的例子。这种类型的数据关系错误有可能在数据库中造成破坏。 ID会自动增加,以保证唯一性。