Oracle 에러 ORA-00001
org.springframework.dao.DuplicateKeyException:
### Errror updating database
Cause: java.sql.SQLIntegrityConstraintViolatoinException:
ORA-00001 : 무결성 제약조건(User.USER_PK)에 위배됩니다.
DB 작업을 하다보면 종종 나는 오류입니다.
예제를 보여드리지요. 아래 테이블처럼
select col01, col02 From temp1018
COL01 컬럼이 PK 로 지정되어있습니다.
COL01 값이 1019는 성춘향입니다.
아래와 같이 COL01 컬럼이 PK인데 아래와 같이 1019 값을 넣는경우
INSERT INTO temp1018(COL01,COL02)
VALUES (1019,'이몽룡');
SQL []; ORA-00001: 무결성 제약 조건(USER.USER_PK)에 위배됩니다
라고 에러가 발생합니다.
이와 같은 에러가 발생하는 경우
UK, PK, FK등의 제약조건이 있는경우를 확인해봐야 합니다.
테이블에 단 하나만 존재해야하는 key가 중복해서 들어갈때
생기는 에러이므로 테이블에 key값이 중복되지 않게 해야 합니다.
에러 전체 코드 확인.
org.springframework.dao.DuplicateKeyException:
### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: 무결성 제약 조건(USER.USER_PK)에 위배됩니다
### The error may involve kr.co.shop.lib.bl.service.theshop.user.insertUsertTb-Inline
### The error occurred while setting parameters
; SQL []; ORA-00001: 무결성 제약 조건(USER.USER_PK)에 위배됩니다
; nested exception is java.sql.SQLIntegrityConstraintViolationException: ORA-00001: 무결성 제약 조건(USER.USER_PK)에 위배됩니다
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: 무결성 제약 조건(USER.USER_PK)에 위배됩니다
'데이터베이스 > Oracle' 카테고리의 다른 글
[ORACLE] 오라클 에러 모음 ORA-00000 ~ ORA-00899 (0) | 2020.05.08 |
---|---|
[ORACLE] 오라클 ORA-12899 열에 대한 값이 너무 큼 해결방법 (1) | 2020.05.07 |
[ORACLE] 오라클 ORA-01400: NULL을 ("USER_DATA"."NAME") 안에 삽입할 수 없습니다 (0) | 2020.04.29 |
[ORACLE] 오라클 ORA-00942: 테이블 또는 뷰가 존재하지 않습니다 원인해결 (0) | 2020.04.28 |
[ORACLE] Group by / having 절 이해하기(+Distinct) (0) | 2020.04.25 |