欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQL state ‘23000‘, error code ‘1062‘, message [Duplicate entry ‘2‘ for key ‘PRIMARY‘]-batch批处理问题小结

程序员文章站 2022-09-17 19:50:28
场景使用batch方式在mysql数据库插入数据,源数据表A数据如下:A这张表是没有主键约束的。从A查询这些数据,插入到相同表结构的B表中。B表的id是主键约束。插入结果如下:可以看出,重复的保留了一条,且是后面一条。并且前面的重复对后面的数据插入没有影响。在批处理执行完后抛出DuplicateKeyException。总结批处理,需要考虑对数据库约束去重,避免脏数据或丢数据。......

场景

使用batch方式在mysql数据库插入数据,源数据表A数据如下:
SQL state ‘23000‘, error code ‘1062‘, message [Duplicate entry ‘2‘ for key ‘PRIMARY‘]-batch批处理问题小结
A这张表是没有主键约束的。
从A查询这些数据,插入到相同表结构的B表中。
B表的id是主键约束。
插入结果如下:
SQL state ‘23000‘, error code ‘1062‘, message [Duplicate entry ‘2‘ for key ‘PRIMARY‘]-batch批处理问题小结
可以看出,重复的保留了一条,且是后面一条。并且前面的重复对后面的数据插入没有影响。在批处理执行完后抛出DuplicateKeyException。

总结

批处理,需要考虑对数据库约束去重,避免脏数据或丢数据。

本文地址:https://blog.csdn.net/weixin_42005602/article/details/109473197