当前位置:网站首页>ora-00001违反唯一约束
ora-00001违反唯一约束
2022-08-11 01:26:00 【森林迷了~鹿】
ora-00001违反唯一约束
报错日志:
org.springframework.dao.DuplicateKeyException:
### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: 违反唯一约束条件 (RPA_USER.PK_ACCEPTED_WITNESSVIDEO)
### The error may exist in com/bairuitech/anychat/iaccount/dao/TAcceptedWitnessvideoMapper.java (best guess)
### The error may involve com.bairuitech.anychat.iaccount.dao.TAcceptedWitnessvideoMapper.insert-Inline
### The error occurred while setting parameters
### SQL: INSERT INTO T_ACCEPTED_WITNESSVIDEO ( ID, SRV_STREAM, CUST_NAME, CUST_STREAM, SYS_PATH, SRV_ID, CUST_ID, SRV_NAME ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ? )
### Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: 违反唯一约束条件 (RPA_USER.PK_ACCEPTED_WITNESSVIDEO)
; ORA-00001: 违反唯一约束条件 (RPA_USER.PK_ACCEPTED_WITNESSVIDEO)
; nested exception is java.sql.SQLIntegrityConstraintViolationException: ORA-00001: 违反唯一约束条件 (RPA_USER.PK_ACCEPTED_WITNESSVIDEO)
原因:
在表中要求唯一的值发生了冲突,比如现在id的值已经增长到了100,序列的下一个值是24,Oracle执行插入时,生成的id是24已经存在了
解决方法:
修改该表的下一个序列值大于当前最大的唯一值
步骤:
1.可以先看是哪张表哪个字段发生的冲突(一般是主键id):
select a.constraint_name,a.constraint_type,b.column_name,b.table_name from user_constraints a inner join user_cons_columns b on a.table_name=b.table_name where a.constraint_name='PK_ACCEPTED_WITNESSVIDEO'
2.查询Oracle数据库所有序列:
select * from USER_SEQUENCES;
3.查询指定数据库表序列id参数值(倒序)
select max(to_number(t.表id)) from 表名(所报异常查询表)t
4.查询当前表值的下一个序列值(对比上一步的查询结果)
SELECT 序列名.NEXTVAL FROM dual; ---执行后,序列会自增
5.修改序列的值的增长值:
alter sequence 序列名 increment BY X; ----X为正数负数都可以
6.查询序列的下一个值:
SELECT 序列名.NEXTVAL FROM dual; --查看是否已经大于id的最大值
7.重新将序列的值的增长值设为1
alter sequence 序列名 increment BY 1; ---序列自增设为1
边栏推荐
- 进程间通信(IPC)的分类以及通信方式的发展
- 划分字母区间[贪心->空间换时间->数组hash优化]
- Jvm. Profiling tools (jconsole, jvisualvm, arthas, jprofiler, mat)
- HCIP-R&S By Wakin自用笔记(3)OSPF之引入外部路由、Forwarding-Address、汇总、特殊区域
- 【C语言】探索数据的存储(整形篇)
- paddle2.3和torch1.8在SentenceBert上的性能对比
- uni-app实现app和H5调用手机拨号功能
- 如何实现FPGA的可重复性设计
- 22-7-31
- [Server data recovery] Data recovery case of lvm information and VXFS file system corruption caused by raid5 crash
猜你喜欢
关于编程本质那些事
Linux install redis database
postgresql parameter meaning
HW-蓝队工作流程(1)
微服务概念
Kunpeng compilation and debugging and basic knowledge of native development tools
SQL statement--get database table information, table name, column name, description comment, etc.
MySQL索引与事务
C# using timer
Web APIs BOM - A Comprehensive Case of Operating Browsers
随机推荐
How to determine the size of the version number
QT+VTK+PCL拟合圆柱并计算起始点、中止点
Update chromedriver driver programming skills │ selenium
FPGA学习专栏-串口通信(xinlinx)
【21天学习挑战赛】折半插入排序
apache+PHP+MySQL+word press, page error when installing word press?
络达开发---自定义Timer的实现
【服务器数据恢复】raid5崩溃导致lvm信息和VXFS文件系统损坏的数据恢复案例
划分字母区间[贪心->空间换时间->数组hash优化]
vim取上个窗口号.
networkmanager无法打开
迭代器和生成器
php 判断数组是否为多维数组
总结Qt中常用文件信息QFileInfo的获取:后缀,名称,路径,链接
Data Filters in ABP
简陋的nuxt3学习笔记
C# string与stream的相互转换
Is container technology really the savior of environmental management?
颠覆性创新招商,链动2+1是个怎么样的制度模式?
Successfully resolved raise TypeError('Unexpected feature_names type')TypeError: Unexpected feature_names type