ORA01400: NULL을 삽입할 수 없습니다.

코드줍줍·2025년 9월 9일
0

삽질 일지

목록 보기
2/13
post-thumbnail

🐞 문제

API 테스트 중 DB INSERT 시 아래 오류 발생

  • ORA-01400: NULL을 (“BTALK_MSG”.”SEND_TYPE”) 안에 삽입할 수 없습니다.

🔍 원인

  • 테이블 BTALK_MSG에는 SEND_TYPE 컬럼이 NOT NULL인데, INSERT 문 컬럼 목록에 SEND_TYPE 자체가 없음

✅ 해결

타입별로 쿼리문을 구분했기 때문에 SEND_TYPE을 고정시킴

<insert id="insertBTalkMessage" parameterType="btalk.model.BTalkMessage">
  INSERT INTO BTALK_MSG (
    TRAN_PR, TRAN_ID, ...,
    SEND_TYPE,
    ...
  ) VALUES (
    BTALK_MSG.NEXTVAL,
    #{tranId}, ...,
    '3',
    ...
  )
</insert>

✨ 배운 점

  • NOT NULL 컬럼은 쿼리에서 누락되면 무조건 에러가 발생한다.
  • 변하지 않는 값은 쿼리에서 확실히 지정해야 안전하다.
profile
Just Wanna Dev

0개의 댓글