How to reset AUTO_INCREMENT in MySQL(如何在 MySQL 中重置 AUTO_INCREMENT)
问题描述
如何重置字段的AUTO_INCREMENT
?
我希望它再次从 1
开始计数.
I want it to start counting from 1
again.
推荐答案
您可以通过以下方式重置计数器:
You can reset the counter with:
ALTER TABLE tablename AUTO_INCREMENT = 1
对于 InnoDB,您不能将 auto_increment
值设置为小于或等于到目前的最高指数.(引用自 ViralPatel):
For InnoDB you cannot set the auto_increment
value lower or equal to the highest current index. (quote from ViralPatel):
请注意,您不能将计数器重置为小于或等于的值到任何已经使用过的.对于 MyISAM,如果该值小于大于或等于当前 AUTO_INCREMENT 中的最大值列,该值将重置为当前最大值加一.为了InnoDB,如果该值小于当前的最大值列,没有错误发生,当前序列值没有改变.
Note that you cannot reset the counter to a value less than or equal to any that have already been used. For MyISAM, if the value is less than or equal to the maximum value currently in the AUTO_INCREMENT column, the value is reset to the current maximum plus one. For InnoDB, if the value is less than the current maximum value in the column, no error occurs and the current sequence value is not changed.
见如何使用另一个表中的 MAX 值重置 MySQL AutoIncrement? 关于如何动态获取可接受的值.
See How can I reset an MySQL AutoIncrement using a MAX value from another table? on how to dynamically get an acceptable value.
这篇关于如何在 MySQL 中重置 AUTO_INCREMENT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 MySQL 中重置 AUTO_INCREMENT


基础教程推荐
- Sql Server 字符串到日期的转换 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01
- SQL Server 2016更改对象所有者 2022-01-01
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01