Duplicate entry问题

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

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

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语句中有存在主键或者唯一索引的列,并且对应的数据已经在表中才会执行更新操作。而且如果要更新的字段是主键或者唯一索引,不能和表中已有的数据重复,否则插入更新都失败。
上一篇:LeetCode 287. 寻找重复数 Find the Duplicate Number (Medium)


下一篇:compass Errno::EACCES on line ["897"] of C: Permission denied