13-错误-ERROR: duplicate key value violates unique constraint "ux_xxx"

75 阅读1分钟

13-错误-ERROR: duplicate key value violates unique constraint "ux_xxx"

更多内容欢迎关注我(持续更新中,欢迎Star✨)

Github:CodeZeng1998/Java-Developer-Work-Note

技术公众号:CodeZeng1998(纯纯技术文)

生活公众号:好锅(Life is more than code)

CSDN: CodeZeng1998

其他平台:CodeZeng1998好锅

问题描述:批量插入数据报错,出现插入数据重复的key已经存在的报错。

报错信息:

Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "ux_xxx"
  详细:Key (id, date)=(1234d08083824f0592241c10f2241234, 2024-05-23) already exists.
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2553)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2285)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:521)
    at org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:870)
    at org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:893)

错误原因:数据库表结构设置了对应的唯一索引,当插入的数据不满足唯一索引的条件时,出现上述报错。

解决方案

  • 如果数据库里的数据是脏数据,则删掉数据库里的数据
  • 如果数据库里的数据不是脏数据,则在代码层面插入数据的时候做对应的过滤操作,预防插入重复数据。
  • 如果数据库里的数据不是脏数据,且是数据业务允许的操作,则直接对插入出现异常的操作进行对应的异常捕获处理即可。

13-错误-ERROR duplicate key value violates unique constraint.png

上图是由 Pic 生成的

关键词:Standing on a volcano crater on a snowy mountain

更多内容欢迎关注我(持续更新中,欢迎Star✨)

Github:CodeZeng1998/Java-Developer-Work-Note

技术公众号:CodeZeng1998(纯纯技术文)

生活公众号:好锅(Life is more than code)

CSDN: CodeZeng1998

其他平台:CodeZeng1998好锅