SQLIntegrityConstraintViolationException: 异常解决
生活随笔
收集整理的這篇文章主要介紹了
SQLIntegrityConstraintViolationException: 异常解决
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
SQLIntegrityConstraintViolationException: Duplicate entry ‘xxx’ for key 'yyyzzz’異常解決
一. 異常現(xiàn)象
在做Java Web項(xiàng)目操作數(shù)據(jù)庫(kù)添加數(shù)據(jù)的時(shí)候,突然發(fā)現(xiàn)曝出如下圖所示異常:
Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry 'test1' for key 'UK_sb8bbouer5wak8vyiiy4pf2bx'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)at ......二. 異常原因
java.sql.SQLIntegrityConstraintViolationException:
其實(shí)就是違反了數(shù)據(jù)庫(kù)的唯一約束條件!也就是插入數(shù)據(jù)時(shí),具有唯一約束條件的列值重復(fù)了。
根據(jù)我圖中描述信息的展示可知,我的表中"test1"這一列是具有唯一約束的,現(xiàn)在插入列值時(shí)數(shù)據(jù)有重復(fù)了。所以務(wù)必確認(rèn)插入數(shù)據(jù)的主鍵或者具有唯一性約束的列不要有重復(fù)數(shù)據(jù)!!!
三. 解決辦法
方法一:將具有唯一約束的列,取消唯一性約束;
方法二:保證插入的數(shù)據(jù),與表中已有的數(shù)據(jù)不重復(fù)!
總結(jié)
以上是生活随笔為你收集整理的SQLIntegrityConstraintViolationException: 异常解决的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Controller数据导出Excel
- 下一篇: Spring深入理解之Component