MySQL JDBC 写入数据报错 Duplicate entry

JDBC批量数据插入时,报错 Duplicate entry:

Duplicate entry '2020-03-23 15:36:01-14340200-ysdk_oU7Gj1VmYZsiImIiGCQIezAOtD5M' for key 'UK_G_U_E'

 

原因:

MySQL表建了唯一索引,用于过滤重复数据。

UNIQUE KEY `UK_G_U_E` (`TIME`,`PACKAGE_ID`,`CORE_ACCOUNT`) USING BTREE

 

解决:

sql语句添加 igonre

insert ignore 忽略数据库中已经存在的数据,如果数据库没有数据就插入这条数据,如果有数据就跳过这条数据。

insert ignore into...

 

另外

批量执行多条 SQL 时,URL 添加 allowMultiQueries=true,可以在 SQL 语句后携带分号,实现多语句执行。

&allowMultiQueries=true

 

 

你可能感兴趣的:(MySQL)