插入数据postgre 报错如下
01 |
### Error updating database. Cause: org.postgresql.util.PsqlException: ERROR: duplicate key value violates unique constraint "vehicle__appKey_pkey" |
02 |
### The error may involve com.sq.platform.basePlatform.dao.VehicleMapper.insertVehicleAppkey-Inline |
03 |
### The error occurred while setting parameters |
04 |
### sql: insert into vehicle__appkey(vehicle_id_fk,appkey_id_fk) values (?,?) |
05 |
### Cause: org.postgresql.util.PsqlException: ERROR: duplicate key value violates unique constraint "vehicle__appKey_pkey" |
06 |
; sql []; ERROR: duplicate key value violates unique constraint "vehicle__appKey_pkey" ; nested exception is org.postgresql.util.PsqlException: ERROR: duplicate key value violates unique constraint "vehicle__appKey_pkey" |
07 |
at org.springframework.jdbc.support.sqlErrorCodesqlExceptionTranslator.doTranslate(sqlErrorCodesqlExceptionTranslator.java: 239 ) |
08 |
at org.springframework.jdbc.support.AbstractFallbacksqlExceptionTranslator.translate(AbstractFallbacksqlExceptionTranslator.java: 73 ) |
09 |
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java: 74 ) |
10 |
at org.mybatis.spring.sqlSessionTemplate$sqlSessionInterceptor.invoke(sqlSessionTemplate.java: 399 ) |
11 |
at com.sun.proxy.$Proxy11.insert(Unknown Source) |
表中 vehicle__appkey id字段如下
1 |
id integer NOT NULL DEFAULT nextval('"vehicle__appKey_id_seq"'::regclass), |
1 |
vehicle__appKey_pkey 序列表如下 |
1 |
<span style= "font-family: Arial,Helvetica,sans-serif;" >-- Sequence: "vehicle__appKey_id_seq" </span> |
01 |
<pre name= "code" class = "java" > |
02 |
-- DROP SEQUENCE "vehicle__appKey_id_seq" ; |
04 |
CREATE SEQUENCE "vehicle__appKey_id_seq" |
07 |
MAXVALUE 9223372036854775807 |
08 |
<span style= "color:#ff0000;" >START 711 </span> |
10 |
ALTER TABLE "vehicle__appKey_id_seq" |
不难看出以上
错误是由于
vehicle__appkey中id字段重复导致的,而id字段的值来自于
vehicle__appKey_pkey 序列表,
START 711 标示下一个id值为712,而712的id
vehicle__appkey表中已经存在了,所以插入数据时报以上这个错误
解决方法:将"vehicle__appKey_id_seq"中的当前值设为为vehicle__appkey id的最大值
原文链接:https://www.f2er.com/postgresql/193728.html