最近在调试post方法时遇到SQLIntegrityConstraintViolationException: Duplicate entry xxx for key 这个错误,记录一下,方便后续查看
这个错误的意思是:
违反唯一约束条件
,也即该字段设置是唯一的,但是数据插入时,想要报错相同记录的数据。
错误信息如下:
"timestamp": "2019-11-16 13:29:20",
"status": 500,
"error": "Internal Server Error",
"message": "\r\n### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '2' for key 'sutra_items_lesson'\r\n### The error may involve cn.htz.chs.mapper.SutraItemsMapper.insert-Inline\r\n### The error occurred while setting parameters\r\n### SQL: INSERT INTO sutra_items ( sutra_id, title, description, original, audio_id, lyric_id, lesson, played_count, duration, hash, create_by, create_time, last_update_by, last_update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '2' for key 'sutra_items_lesson'\n; Duplicate entry '2' for key 'sutra_items_lesson'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '2' for key 'sutra_items_lesson'",
"path": "/put/sutraitems/item"
发现在建立数据库表字段时,lesson的字段设置了唯一索引,但是此时我们还是想让lesson支持重复的数据插入,可以有如下解决方法
-
使用可视化工具打开数据库,在sutra_items 表中查看索引,检查索引类型,选择Normal,保存后,问题解决
-
使用可视化工具打开数据库,在sutra_items 表中查看索引,选择对应报错的字段索引名称,直接删除改索引,新增限定唯一值的索引,比如新增title的唯一值索引,索引类型为Unique,索引方法默认为BTREE
上面都检查完毕,如果还是有问题,需要检查一下插入相关的代码,检查字段插入是否正确,保证插入的数据为唯一的
结论:
设置数据库字段时,要留心每个字段的属性,要根据每个字段的详细需求进行限定设置是否允许唯一性。
Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry
最近在调试post方法时遇到SQLIntegrityConstraintViolationException: Duplicate entry xxx for key 这个错误,记录一下,方便后续查看错误信息如下:{ "timestamp": "2019-11-16 13:29:20", "status": 500, "error": "Internal Server ...
Error
updating
database
.
Ca
use
:
java
.
sql
.
SQL
Integ
rity
Const
ra
int
Violat
ion
Exception
: O
RA
-00001: 违反唯一约束条件 (JDDS.PK_SHOP_MESSAGE)
### The
error
may involve com.shop.dao.itf.MessageMapper.insert-Inline
### The
error
occurred while setting pa
ra
meters
###
SQL
: in
在利用 mybatis 对数据将进行插入数据的时候,出现了如下错误:
1 org.springf
ra
mework.dao.Data
Integ
rity
Violat
ion
Exception
:
2 ###
Error
updating
database
.
Ca
use
:
java
.
sql
.
SQL
Integ
rity
Const
ra
int
Violat
ion
Exception
: Column...
报错描述:
Error
updating
database
.
Ca
use
:
java
.
sql
.
SQL
Integ
rity
Const
ra
int
Violat
ion
Exception
:
Ca
nnot add or update a child row: a foreign key
const
ra
int
fails (zqq.tbl_employee,
CONST
RA
INT
fk_emp_dept FOREIGN KEY (d_id) REFERENCES tbl_dept (id))
解决方法:
数据库表中的字
开发我的个人博客项目时遇到了这个问题,Mybatis输出
SQL
报错信息如下:
###
Error
updating
database
.
Ca
use
:
java
.
sql
.
SQL
Integ
rity
Const
ra
int
Violat
ion
Exception
:
Dupli
cat
e
entry
'qwe1111' for key 'blog_post_title_adf2f203_uniq'
### The
error
may exist in com/eastnotes/mapper/ArticleMap
Error
updating
database
.
Ca
use
:
java
.
sql
.
SQL
Integ
rity
Const
ra
int
Violat
ion
Exception
: Column ‘click_count’
ca
nnot be null
今天写代码的时候,在页面提交表单一直不成功,查看后台发现报
sql
语句错误,提示属性不能为空。
一开始以为是我mapper.xml里面的
sql
语句写错了,后来又以为是页面调用的id名和数据库里的不一致,最后经过很长时间的检查,才发现是我的方法调用错了,GoodsServi
解决报错问题:
SQL
Integ
rity
Const
ra
int
Violat
ion
Exception
:
Dupli
cat
e
entry
'4' for key 'PRIMARY'
解决报错问题:
SQL
Integ
rity
Const
ra
int
Violat
ion
Exception
:
Dupli
cat
e
entry
‘4’ for key ‘PRIMARY’
Sql
Sess
ion
[org.apache.ibatis.sess
ion
.defaults.Default
Sql
Sess
ion
@4813a18a] was not registered for synchronizat
ion
...
错误更新数据库。原因:
java
.lang.NullPo
int
er
Exception
。
这个错误通常是由于代码中的空指针异常引起的。可能是因为代码中没有正确地初始化某些变量或对象,导致在更新数据库时出现了空指针异常。需要检查代码并确保所有变量和对象都被正确地初始化。
### 回答2:
“
error
updating
database
.
ca
use
:
java
.lang.nullpo
int
er
exception
” 的错误提示表示在更新数据库时发生了空指针异常。
Java
中的空指针异常是一种常见的运行时异常,通常是由于调用了空对象(null)的方法或者字段引起的。
在这种情况下,可能是数据库连接未正确设置或已释放。如果尝试使用已关闭的数据库连接进行查询或更新,就会抛出空指针异常。避免这种情况的方法是确保数据库连接正确地设置和释放,可以使用try-with-resources或手动关闭连接来实现。
另外,可能是查询或更新语句中使用了空值(null)作为参数,例如尝试将空值写入数据库中的非空字段。这种情况可以通过在执行语句之前检查输入参数是否为null来避免。
还有可能是在执行操作之前没有绑定正确的参数,或者参数的类型不匹配,例如将字符串传递给整数类型的字段。这种情况可以通过检查参数的类型和值以及使用预编译语句来避免。
总之,出现“
error
updating
database
.
ca
use
:
java
.lang.nullpo
int
er
exception
”错误提示时,需要进行仔细的调试和检查,找出引起异常的根本原因,并采取适当的措施来解决问题。
### 回答3:
"
error
updating
database
.
ca
use
:
java
.lang.nullpo
int
er
exception
" 的意思是出现了更新数据库时的错误,原因是一个
Java
异常(NullPo
int
er
Exception
),表示代码中出现了空指针。
在
Java
中,空指针通常发生在试图使用 null 引用类型的变量或属性时。这样的引用不指向任何有效的对象实例,因此任何对它们的方法调用都会导致 NullPo
int
er
Exception
的异常。
在这种情况下,这个问题出现在试图更新数据库时。一个可能的情况是尝试更新数据库的某个字段,但是这个字段的值为空,而代码没有正确处理这种情况,导致出现空指针异常。
解决这个问题的最好方法是检查代码中所有的空引用,确保它们不会被调用,或者在调用它们之前进行必要的检查以避免空指针异常的发生。另一种方法是使用 try-
cat
ch 块捕获异常,以便在出现问题时进行处理,而不是导致整个程序崩溃。 最重要的是,要了解代码所依赖的库和框架,以便及时修复和升级它们,避免类似的问题的再次发生。
Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry
阿维的博客日记:
android展讯平台重要的打包命令及生成镜像文件的Linux命令
上进的打工人:
resource failed to call close
qq_58098194:
Linux 云服务器 sudo apt-get update Cannot initiate the connection to archive.ubuntu.com:80
sinat_39505798:
Linux 云服务器 sudo apt-get update Cannot initiate the connection to archive.ubuntu.com:80
Brave Seeker: