php - 在 MySQL 中删除后自动增量不正确 ID 值

标签 php mysql sql sql-delete

<分区>

我有一个包含不同帖子的博客。假设我有 10 个帖子。当我选择删除带有 DELETE FROM table WHERE id = 10 的最新帖子时,它会删除它。

然后,我发布的下一篇文章获得 ID 11。

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

ID | post
11 | foo
9  | bar

但是我删除的数字 10 已经不存在了。我怎样才能使我发布的下一篇文章获得 ID 10?

ID 列是自动递增的。

最佳答案

我认为最好的答案是你不

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

假设您有评论通过帖子 ID 与您的博客帖子相关。如果您删除帖子并保留评论,将另一个帖子的 ID 更改为旧 ID 会导致评论与错误的帖子关联。

这只是一个简单的例子。这种类型的数据关系错误有可能在数据库中造成严重破坏。 ID 以这种方式自动递增以保证唯一性。

关于php - 在 MySQL 中删除后自动增量不正确 ID 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31328906/

相关文章:

java - 查询在 SQL*Plus 上运行但不在 jdbc 程序中运行

php - 网络 MVC : how to structure the Model layer?

php - 回显边框底部 php

sql - 在执行查询之前,如何从 Laravel 的查询构建器中获取原始查询字符串?

php - 为什么 JSON 只为我的查询返回 1 个图像输出?

mysql - 如何在 phpmyadmin 中获取表结构作为 SQL 查询

PHP - 基于 Off Factor 对数组进行排序::usort?

php - 如何在 Symfony2 中将 json 渲染成 Twig

mysql - Laravel 中加入 Query 以避免举报滥用用户

php - 如何以多行形式保存用户名和user_id