SpringBoot JPA 保存数据报错:java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '23' for...

由于我是主要做Android端的,对服务端不熟悉,今天在使用SpringBoot写一个小demo的时候,在使用SpringBoot JPA 进行 save 数据时,报了一个错误:

threw exception [Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [user.PRIMARY]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement] with root cause

java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '23' for key 'user.PRIMARY'
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)

在网上搜索一翻,都是说我要设置主键自增,但是实际上我已经设置了主键自增了,为什么还是报这个错误呢,其实仔细看,错误还是有些不同的, Duplicate entry '23' 这里有点奇怪,因为我每调用一次接口,这个数字就增加一个,对比了看下数据库,猜测这个是表的自增id吧。做服务端的同学就不要笑了哈。

然后想到表里面的现有数据并不是通用springboot往里面添加的,而执行的sql,会不会因为这个呢?


ID

在数据库里面看到了这个,猜测应该是与自增id有关的,然后将里面的值改到目前我数据库中最大的id,在跑一次,就解决了。这个值具体有什么作用,还没有细查相关资料,先做记录,后期有时候在研究;
大家也可以留言评论帮我解惑,谢谢!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容