Cause: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "SAMS_SYS_AREA_pkey"

导致错误的原因:

  我在建表的sql文件中,重新定义了一个自增表("id serial primark key"),但是sql文件中还有insert语句初始化数据,这是id自增字段就不是从1开始,

这时你在添加数据时就会出现标题中问题

解决办法:

  在创建好表后,执行下面一句话

  SELECT setval(‘"SAMS_SYS_AREA_id_seq"‘, (SELECT MAX(id) FROM "SAMS_SYS_AREA")+1)【设置】

  //SELECT nextval(‘"SAMS_SYS_AREA_id_seq"‘::regclass)可以用改语句查看是否修改成功

  

原文地址:https://www.cnblogs.com/catvan/p/9597701.html

时间: 2024-08-04 14:10:07

Cause: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "SAMS_SYS_AREA_pkey"的相关文章

[JAVA][Liferay] Duplicate key value violates unique constraint for resourcepermissionid in Liferay

Unexpected exception thrown when create new site: 09:47:10,114 ERROR [ajp-bio-8009-exec-113][JDBCExceptionReporter:82] Batch entry 0 insert into ResourcePermission (companyId, name, scope, primKey, roleId, ownerId, actionIds, resourcePermissionId) va

IntegrityError duplicate key value violates unique constraint - django/postgres

SELECT setval('tablename_id_seq', (SELECT MAX(id) FROM tablename)+1)

org.postgresql.util.PSQLException: 栏位索引超过许可范围:3,栏位数:2。

今天在写完SQL进行查询的时候,后台一直报错显示上面的信息.看错误完全不知道原因,就重新检查了一次SQL,发现自己在某一个接收参数的外面加上了引号而其他的并没有加. 怀疑是不是由于这个引起的,就删掉这个引号,再次执行,就没有再次出现这个问题了:查看其它的资料,说是吧#{parentId}  换位 ${parentId},所以就进行了测试一下在有引号的境况下,把 # 改为 $ 发现也不会报错了.于是就找了一下关于 # 和 $ 在SQL中的区别: 1. # 将传入的数据当成一个字符串,会对自动传入的

PostGIS 报错为org.postgresql.util.PSQLException:错误: Operation on mixed SRID geometries

说明: 在用Openlayers与Geoserver进行开发,做在线编辑功能时,出现一个问题:每当我新增了一根要素后,再次用wfs的方式进行点击查询时,会报错mixed SRID. 通过研究发现在数据导入Postgis时,默认geom(空间属性字段)会为0,但是我在线编辑插入要素时,赋予了空间坐标系3857. SELECT st_srid(geom) FROM public.t_pressureline; 解决方案: 将数据库先手动更新一下,统一一下坐标系. select UpdateGeome

关于MySQL:ERROR 1022 (23000): Can't write; duplicate key in table 'test4'

ERROR 1022 (23000): Can't write; duplicate key in table 'test4':在为"test4"表设置外键时.外键名与已有的外键名重复;代码如下,注意加粗部分 错误代码: mysql> create table test4( -> id int, -> cp_name varchar(32), -> constraint test_fk foreign key(cp_name) references studen

mysql ON DUPLICATE KEY UPDATE、REPLACE INTO

INSERT INTO ON DUPLICATE KEY UPDATE 与 REPLACE INTO,两个命令可以处理重复键值问题,在实际上它之间有什么区别呢?前提条件是这个表必须有一个唯一索引或主键. 1.REPLACE发现重复的先删除再插入,如果记录有多个字段,在插入的时候如果有的字段没有赋值,那么新插入的记录这些字段为空.2.INSERT发现重复的是更新操作.在原有记录基础上,更新指定字段内容,其它字段内容保留. 这样REPLACE的操作成本要大于 insert  ON DUPLICATE

[BTS]The join order has been enforced because a local join hint is used.;Duplicate key was ignored.".

在一个客户的BizTalk Server 2013 R2环境中会报如下的ERROR,目前还没找出是什么原因. Log Name:      ApplicationSource:        BizTalk ServerDate:          3/3/2015 7:59:12 AMEvent ID:      6912Task Category: BizTalk ServerLevel:         ErrorKeywords:      ClassicUser:          N

Mysql主从库同步错误:1062 Error 'Duplicate entry '1438019'

mysql主从库同步错误:1062 Error 'Duplicate entry '1438019' for key 'PRIMARY'' on query mysql主从库在同步时会发生1062 Last_SQL_Error: Error ‘Duplicate entry ‘的问题: 显然这个问题是因为插入重复主键导致从库不工作了,错误消息如下 mysql> show slave status\G; *************************** 1. row ************

JDK8 stream toMap() java.lang.IllegalStateException: Duplicate key异常解决(key重复)

测试又报bug啦 接到测试小伙伴的问题,说是一个接口不返回数据了,好吧,虽然不是我写的接口任务落到头上也得解决,本地调试了一下,好家伙,直接抛了个异常出来,这又是哪位大哥喝醉了写的代码... Exception in thread "main" java.lang.IllegalStateException: Duplicate key at java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133)