解决mybatisplus主键无法自增的问题
mybatisplus,yml配置正确,实体类加上 了注解,数据库设置了自增
当mybatisplus配置文件完全正确,主键依然无法自增,可以这样解决:
删除所有雪花算法生成的id字段,然后执行ALTER TABLE 库名.表名 AUTO_INCREMENT = 0;
该语句的作用是:强制自增计数器回归“初始状态”
该语句的
注意事项
- 主键类型限制:
若主键是INT
类型,AUTO_INCREMENT
值不能超过2^31-1
(约 21 亿),否则会报错。 - 显式赋值冲突:
若插入时显式指定了id=0
,MySQL 会将其转换为1
(如果NO_AUTO_VALUE_ON_ZERO
模式未启用)。 - 分布式系统不适用:
此方法仅适用于单机数据库,分布式系统需使用其他策略(如雪花算法)。
参考的文档:SpringBoot项目@tableid注解设置IdType.AUTO不生效的解决方法-CSDN博客