본문으로 바로가기

    

 

이번 글에서는 ORA-01400: NULL을 ("USER"."TABLE"."COLUMN") 안에 삽입할 수 없습니다 에러 해결 방법에 대하여 알아보겠습니다.

 

ORA-01400: NULL을 ("USER"."TABLE"."COLUMN") 안에 삽입할 수 없습니다

ORA-01400: "cannot insert NULL into ("USER"."TABLE"."COLUMN")"

 

 

데이터를 추가하다가 아래와 같은 에러가 발생하였습니다.

 

 

예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.

아래의 쿼리는 DNAME에 'SALES'라는 데이터만 삽입하려고 작성한 예제입니다.

 

위의 쿼리를 실행하니 ORA-01400: "cannot insert NULL into ("USER"."TABLE"."COLUMN")" 에러가 발생하였습니다. 

에러가 발생한 이유는 DEPT의 테이블에는 기본키값인 DEPTNO와 DNAME, LOC가 존재합니다. 위의 쿼리가 만약 정상적으로 작동했다면

DEPTNO = NULL

DNAME = 'SALES'

LOC      = NULL

위의 데이터로 삽입되었을 것입니다.

하지만 쿼리가 정상적으로 작동되지 않은 이유는 기본키에는 NULL이 들어갈 수 없기 때문이죠.

즉, 기본키인 DEPTNO에는 NULL이 올 수 없습니다. 

 

해결 방법

기본키에 NULL이 안들어가게 설정하면 됩니다.

 

기본키인 DEPTNO에도 값을 설정하여 데이터를 추가해보도록 하겠습니다.

 

기본키인 DEPTNO를 NULL로 안주니까 에러 없이 정상적으로 작동되었네요.