ORA-00001: unique constraint (CONTRACT_MGR.PK_T_SUPPLIER) violated

2023-12-23 17:18

本文主要是介绍ORA-00001: unique constraint (CONTRACT_MGR.PK_T_SUPPLIER) violated,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开发的系统,今天客户反馈新增数据(插入到oracle)失败。检查日志,报错为:

 ORA-00001: unique constraint (****.PK_T_***) violated

就是新增数据的主键值与数据库里面的数据重复了。

程序使用的是hibernate框架,用hibernate中的save() 方法来直接往数据库中插入数据。
主键生成策略为:

<id name="Id" type="long"><column name="Id" precision="22" scale="0" /><generator class="sequence"><param name="sequence">SEQ_T_***</param></generator></id>

检查之后,发现是前一天在数据库中直接insert大批数据,导致数据库中的sequence SEQ_T_*** 没有相应更新。今天通过sequence来自动生成主键的时候,就生成了重复的主键值。修改数据库中的sequence起始值为当前的最大的主键id值+1即可。
如图:
在这里插入图片描述

这篇关于ORA-00001: unique constraint (CONTRACT_MGR.PK_T_SUPPLIER) violated的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/528797

相关文章

ora-01017 ora-02063 database link,oracle11.2g通过dblink连接oracle11.2g

错误图示: 问题解决 All database links, whether public or private, need username/password of the remote/target database. Public db links are accessible by all accounts on the local database, while private

ORA-25150:不允许对区参数执行ALTERING

在用PL/SQL工具修改表存储报错: 百度一下找到原因: 表空间使用本地管理,其中的表不能修改NEXT MAXEXTENTS和PCTINCREASE参数 使用数据自动管理的表空间,其中的表可以修改NEXT MAXEXTENTS和PCTINCREASE参数

ORA-01861:文字与格式字符串不匹配

select t.*, t.rowid from log_jk_dtl t; insert into log_jk_dtl (rq,zy,kssj,jssj,memo)  values (to_date(sysdate,'yyyy-mm-dd'),'插入供应商', to_char(sysdate,'hh24:mi:ss'),to_char(sysdate,'hh24:mi:ss'),'备注'

利用PL/SQL工具连接Oracle数据库的时候,报错:ORA-12638: 身份证明检索失败的解决办法

找到相对应的安装目录:比如:E:\oracle\product\10.2.0\client_1\NETWORK\ADMIN 在里面找到:SQLNET.AUTHENTICATION_SERVICES= (NTS) 将其更改为:SQLNET.AUTHENTICATION_SERVICES= (BEQ,NONE) 或者注释掉:#SQLNET.AUTHENTICATION_SERVICES= (N

ORA-00600 [1880]

-----环境信息 [oracle@trsen02 bdump]$ uname -a Linux trsen02.yto.com 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux SQL> select * from v$version; BANNER ----

ORA-31626/ORA-31638/ORA-39077/ORA-6502

导数据遇到ORA-31626/ORA-31638/ORA-39077/ORA-6502 报错信息如下: [oracle@vm010148 ~]$ expdp system/oracle directory=dir dumpfile=full.dmp logfile=full.log Export: Release 11.2.0.3.0 - Production on Sun Sep

ORA-00600 [504]

ALERT日志: Wed Sep 10 09:00:53 2014 Errors in file /u01/app/oracle/diag/rdbms/trsendb/trsendb2/trace/trsendb2_ora_40371414.trc  (incident=821340): ORA-00600: internal error code, arguments: [504],

mysql mgr 集群部署 单主模式和多主模式

mysql mgr集群部署 单主模式和多主模式 MGR介绍 MySQL Group Replication(MGR:mysql组复制技术)是MySQL官方在5.7.17版本引进的一个数据库高可用与高扩展的解决方案,以插件形式提供。 **MGR基于分布式paxos协议,实现组复制,在分布式中保证数据一致性和原子性,且具有容错率的一致性算法。**内置故障检测和自动选主功能,只要不是集群中的大多数节

【oracle sql错误】ORA-01795: 列表中的最大表达式数为 1000

select SOURCE_ID,FILTER_TEXT from TEXT_CENTER where SOURCE_ID in() in后面的括号里的数目超过1000条。 问题描述: SQL进行IN查询时,IN中的数据量不能超过1000条。 解决办法: 拆分:id in (1,2,3,4,5,,,,999) or id in(1000,1001,1002,1003,1004,,,,,,

Oracl查询报错:ORA-29275: 部分多字节字符

报错描述 --使用oracl的sql查询时候,此sql无误:SELECT DISTINCT MS_BRDA.MZHM as patientId,MS_BRDA.BRXM as name,CASEWHEN MS_BRDA.BRXB = 1 THEN '男'WHEN MS_BRDA.BRXB = 2 THEN '女'ELSE '未知'END