php - 如何自动将新的 id 值设置为已删除行的 id

标签 php mysql

我有一个包含 50 行的表,id 列作为主键,自动递增。

开头的id值从1到50;

删除一行后,例如 id=1,并插入一个新行,这将有 id=51

如何将新行设置为第一个空位,在这种情况下 id=1 自动,而不是 51

另外,如果 id=5 被删除,下一个插入的行应该有 id=5 等等。

最佳答案

对于自动增量列,您无法更改每行的键检查。
您可以禁用键检查并截断表,这会将新键(数字)重新分配给每一行,但这意味着以前的键将移动到其他行,具体取决于删除行的数量和它们在序列中的位置。

如果您真的需要像您正在做的那样做一些事情,您也可以通过脚本创建一个伪索引的“自动”递增列。然后,您将能够以您选择的任何方式管理该列。

关于php - 如何自动将新的 id 值设置为已删除行的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45367708/

相关文章:

php - 尝试根据我发现的 Flash 元素设计 HTML5 页面

java - MySQL 函数在像(Toad)这样的 MySQL 数据库管理器中工作正常,但在 Java 中却不行

mysql - 如何在 Django 中使用 MySQL 用户定义函数 (UDF)?

php - 无法访问moodle中的数据库

mysql - SQL 查询帮助 - 为每个 ID 选择非空值(多行)

MySQL SELECT WHERE 所有集合项都在另一个集合中

php - 在 Eloquent ORM 中使用 find 选择特定的列

php - Nginx:如何将Googlebot流量转移到Varnish

PHP读取文件错误

javascript - 当新的 mysql 数据进来时点击更新 javascript 数组