Dev./persistence
[PostgreSQL] ERROR: column mycolumn contains null values
인쥭
2022. 4. 21. 15:01
반응형
참고링크
How can I add a column that doesn't allow nulls in a Postgresql database?
I'm adding a new, "NOT NULL" column to my Postgresql database using the following query (sanitized for the Internet): ALTER TABLE mytable ADD COLUMN mycolumn character varying(50) NOT NULL; Each ...
stackoverflow.com
상세
- 이미 존재하는 테이블에 not null 컬럼을 신규 추가하려는 경우, 다음과 같은 에러 메시지가 반환된다.
ERROR: column [컬럼명] contains null values
SQL state: 23502
- 이 경우, 다음과 같이 진행하도록 한다.
- 우선 임의의 값을 default 옵션으로 넣어 컬럼을 추가한다.
- update 쿼리 등을 통해 값을 적절히 업데이트한다.
- 1.에서 추가한 컬럼의 default 옵션을 지운다.
- 내 경우, 다음과 같은 쿼리로 진행하였음.
alter table [테이블명] add [컬럼명] character varying(50) not null default 1
~~~ 값을 업데이트
alter table [테이블명] alter column [컬럼명] drop default