jdbc-数据库插入数据时候,Duplicate entry问题解答

先去根据某一字段值查询数据库中是否有记录,有则更新,没有则插入。

Duplicate entry

在这里插入图片描述

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '香港' for key 'PRIMARY'

解决方法:

String sql = "insert into province values(?,?,?,?,?)  on Duplicate key update provinceName=values(provinceName),currentConfirmedCount=values(currentConfirmedCount),confirmedCount=values(confirmedCount),curedCount=values(curedCount),curedCount=values(curedCount)";
			ps = conn.prepareStatement(sql);

说明:

on Duplicate key update 这样做的目的就是在向数据库插入一条数据的时候,
ON DUPLICATE KEY UPDATE需要有在INSERT语句中有存在主键或者唯一索引的列,并且对应的数据已经在表中才会执行更新操作。而且如果要更新的字段是主键或者唯一索引,不能和表中已有的数据重复,否则插入更新都失败。
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐