java.sql.SQLIntegrityConstraintViolationException: Duplicate entry ‘2147483647‘ for key ‘PRIMARY‘

以你之姓@ 2022-11-17 05:26 581阅读 0赞

今天使用mybatis开发,在向manager表中添加数据时,遇到了这样的问题:

  1. SQL: insert into manager (
  2. name, mobile, franchiseeId, userId,roleCategory, status,createTime, updateTime
  3. ) values (?, ?,?, ?,?, ?,?, ?)
  4. Cause:
  5. java.sql.SQLIntegrityConstraintViolationException:
  6. Duplicate entry '2147483647' for key 'PRIMARY';

这触发了主键唯一性的问题。

解决思路:

  • 查询数据库中是否存有id=2147483647的记录,发现存有这条记录
  • 既然存有id = 2147483647的记录,但为什么会出现如此大的id呢?

    • 查询这个id的上条记录的id=400,但manager表是自动增加的,因而,这条记录应该是 id = 401
    • 通过上面的分析,只能是MySQL的配置问题,有可能是 auto Increment = 2147483647,于是,去查看manager表的配置
      在这里插入图片描述
      果然是配置的问题,可能其他研发人员误操作,修改autoi increment的值,于是,把该值修改为401,auto increment ,实际上是随着表中的id的改变而自动改变的。**

发表评论

表情:
评论列表 (有 0 条评论,581人围观)

还没有评论,来说两句吧...

相关阅读