mysql - 如何重置MySQL中的auto_increment值

标签 mysql auto-increment alter

即使在引用其他帖子进行更改后,我也无法重置 auto_increment 值

我尝试过:

ALTER TABLE tablename AUTO_INCREMENT = 101

ALTER TABLE users AUTO_INCREMENT=1001;

或者,如果您尚未添加 id 列,也请添加

ALTER TABLE users ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT,
ADD INDEX (id);

但是还是不行

检查一下:

mysql> ALTER TABLE table2 ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    -> ADD INDEX (id);
Query OK, 5 rows affected (0.17 sec)
Records: 5  Duplicates: 0  Warnings: 0

mysql> select * from table2;
+----------------+----+
| name           | id |
+----------------+----+
| Abhilash Gupta |  1 |
| John           |  2 |
| Peter          |  3 |
| Clarke         |  4 |
| Virat          |  5 |
+----------------+----+
5 rows in set (0.00 sec)

mysql> ALTER TABLE table2 AUTO_INCREMENT=101;
Query OK, 5 rows affected (0.25 sec)
Records: 5  Duplicates: 0  Warnings: 0

mysql> select * from table2;
+----------------+----+
| name           | id |
+----------------+----+
| Abhilash Gupta |  1 |
| John           |  2 |
| Peter          |  3 |
| Clarke         |  4 |
| Virat          |  5 |
+----------------+----+
5 rows in set (0.00 sec)

mysql>

我希望id的值从101开始。 提前致谢

最佳答案

如果您想将现有 ID 更改为从 101 开始,请使用:

UPDATE table2
SET id = id + 100;

auto_increment 设置用于要添加的下一行的 ID,它对现有行没有影响。

关于mysql - 如何重置MySQL中的auto_increment值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27738120/

相关文章:

mysql - 在 MySQL 5.7.22 中尝试使用 ENCRYPTION = "Error parsing DDL"( key 环插件)更改表时出现错误 'Y'

php - MySQL 中的前向后记录与主数据中的相同数据

python - 让 python MySQLdb 在 Ubuntu 上运行

mysql - 如何编写一个 MySQL 查询来限制一个或多个连接表的结果,并计算连接表中的项目数?

php - 我们如何删除 $file_info[path] 末尾的斜杠 '/'

erlang - 在 mnesia DBMS 中管理增量计数器?

php - codeigniter 自动递增外键

mysql - SQL数据库中的自动增量列

MySQL Alter table,添加具有唯一随机值的列

php - MySql - 将字段枚举类型更改为 tinyint 时的奇怪行为