티스토리 뷰

반응형

참고링크

 

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
  • 이 경우, 다음과 같이 진행하도록 한다.
  1. 우선 임의의 값을 default 옵션으로 넣어 컬럼을 추가한다.
  2. update 쿼리 등을 통해 값을 적절히 업데이트한다.
  3. 1.에서 추가한 컬럼의 default 옵션을 지운다.
  • 내 경우, 다음과 같은 쿼리로 진행하였음.
alter table [테이블명] add [컬럼명] character varying(50) not null default 1
~~~ 값을 업데이트
alter table [테이블명] alter column [컬럼명] drop default
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함