반응형
[SQL] 에러해결 (ERROR: cannot insert a non-DEFAULT value into column "col1"Detail: Column "col1" is a generated column.)
[에러 발생]
INSERT 쿼리 작성 시 아래와 같은 에러가 떴다.
ERROR: cannot insert a non-DEFAULT value into column "col1"
Detail: Column "col1" is a generated column.
[에러 원인]
확인해보니 테이블 생성시 컬럼 col1에
CASE WHEN문을 집어넣어 default 값을 만들어 놨었다.
CREATE TABLE 스키마명.테이블명
(
--생략
, col1 VARCHAR (5) DEFAULT
CASE
WHEN (length((col2)::text) > 0) THEN 'type1'::text
ELSE 'type2'::text
END
, --생략
)
이렇게 기본값이 있는데
sql insert문을 날릴 때 col1에 값을 넣어서 날리고 있었기 때문에 발생한 에러였다.
[에러 해결]
insert 쿼리를 날릴 때 col1을 아예 빼서 쿼리를 날리면 에러가 나지 않고 정상적으로 동작한다.
반응형
'SQL' 카테고리의 다른 글
[SQL] NOT NULL과 DEFAULT의 차이 (중복 사용?) (0) | 2022.08.24 |
---|---|
[SQL] "BETWEEN 날짜 AND 날짜" 경계값 조회 안 되는 경우 (MyBatis) (0) | 2022.08.10 |
[PostgreSQL] insert시 seq 최댓값 + 1로 자동증가 입력 (MAX값 +1) (0) | 2022.07.13 |
[PostgreSQL] ::bpchar, ::character varying 의미 (0) | 2022.06.29 |
[SQL] Expected one result (or null) to be returned by selectOne(), but found: 2 해결 방법 (0) | 2022.06.22 |