Mysql主键设置自增后,自增值会一直按最大值计数,哪怕清空了数据表,再添加数据时,主键依旧从最大值开始
使用以下命令,可以修改主键初试值:
格式:ALTER TABLE 表名 auto_increment = 数字;
例如,如果想要将表 content 的id设置成从1开始
设置主键从1开始时,需要注意:
在执行前,一定要清空数据,否则这个命令无用。因为一旦有数据,即便是你执行了命令,新insert的数据依然按照当前数据库的最大id来处理。
设置主键自增的起始值,并非1时,不用清空表,我在Mysql5.7中使用InnoDB时,表有大量数据的情况下,主键重置了较大的自增值,仍然有效。
当看到如下提示:Duplicate entry '***' for key 'PRIMARY',说明自增的主键已经存在,可能因为修改过主键的值,且现在自增的值已经和此值相同,导致冲突,此时可通过重置较大的主键值,解决此问题。
上一篇:mysql区不区分大小的相关问题
下一篇:Mysql创建函数