mysql - 重置表自动增量并使其应用于表

标签 mysql sql phpmyadmin

我有一个已导入的包含大约 10k 行的表。 ID 对于我的应用程序来说是一个重要的列,必须对其进行排序。目前,我得到了类似:1,2,3,4,5....5789,9275,9276.....

它从 5789 跳到 9275。有什么方法可以重置自动增量,同时使其应用于表吗?这意味着,现在它将开始再次向他们提供从 1 到 10k 的 IDS

谢谢!

最佳答案

ALTER TABLE <tablename> AUTO_INCREMENT=<new_value>;

当然,您需要手动修复高 ID 以及对它们的所有引用。

但是,你为什么关心呢?如果身份证上有漏洞真的很重要吗?如果是,您可能需要使用始终设置为 MAX(col) + 1 的单独列,而不是 AUTO_INCRMENT 列。

关于mysql - 重置表自动增量并使其应用于表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20406973/

相关文章:

Mysql - 选择,按列值在字符串中出现的次数排序

MySQL 触发器 - 使用从另一个表中选择的值更新表

mysql - 从数据库中获取前 5 名排名

sql - 需要对 UPDATE t-SQL 语句中的 SELECT 进行一些澄清

mysql - 同时更改多个 MySQL 数据库表

php - 我们可以在同一页面的另一种表单中使用来自一种表单的用户输入数据吗

mysql - 使用 MySQL 中另一表的数据更新多行一列

sql - 在什么规模的数据下分区的 ROI 最有值(value)?

sql - 如何删除名称为 ["app_id"的 Postgres 列]

用于 php 的 phpMyAdmin 日期时间选择器