반응형
테이블을 변경하여 열의 기본값을 수정합니다.
데이터베이스 테이블에서 열의 기본값을 수정해야 하는 요구사항이 있습니다.테이블은 이미 데이터베이스에 존재하는 테이블이며 현재 열의 기본값은 NULL입니다.이 열에 새 기본값을 추가하면 열의 기존 NULL이 모두 새 DEfault 값으로 업데이트됩니다.이렇게 하지 않고 열에 새 기본값을 설정할 수 있는 방법이 있습니까?즉, 기존 NULL을 업데이트하지 않고 NULL로 유지하기를 원합니다.
이에 대한 어떤 도움도 감사합니다.감사해요.
무슨 일이 일어날지에 대한 당신의 믿음은 옳지 않다.열의 기본값을 설정해도 테이블의 기존 데이터에는 영향을 주지 않습니다.
컬럼이 있는 테이블을 만듭니다.col2
디폴트값이 없습니다.
SQL> create table foo(
2 col1 number primary key,
3 col2 varchar2(10)
4 );
Table created.
SQL> insert into foo( col1 ) values (1);
1 row created.
SQL> insert into foo( col1 ) values (2);
1 row created.
SQL> insert into foo( col1 ) values (3);
1 row created.
SQL> select * from foo;
COL1 COL2
---------- ----------
1
2
3
그런 다음 테이블을 변경하여 기본값을 설정해도 기존 행은 변경되지 않습니다.
SQL> alter table foo
2 modify( col2 varchar2(10) default 'foo' );
Table altered.
SQL> select * from foo;
COL1 COL2
---------- ----------
1
2
3
SQL> insert into foo( col1 ) values (4);
1 row created.
SQL> select * from foo;
COL1 COL2
---------- ----------
1
2
3
4 foo
나중에 기본값을 다시 변경해도 기존 행은 변경되지 않습니다.
SQL> alter table foo
2 modify( col2 varchar2(10) default 'bar' );
Table altered.
SQL> select * from foo;
COL1 COL2
---------- ----------
1
2
3
4 foo
SQL> insert into foo( col1 ) values (5);
1 row created.
SQL> select * from foo;
COL1 COL2
---------- ----------
1
2
3
4 foo
5 bar
ALTER TABLE *table_name*
MODIFY *column_name* DEFAULT *value*;
Oracle에서 근무했습니다.
예:
ALTER TABLE MY_TABLE
MODIFY MY_COLUMN DEFAULT 1;
ALTER TABLE {TABLE NAME}
ALTER COLUMN {COLUMN NAME} SET DEFAULT '{DEFAULT VALUES}'
예:
ALTER TABLE RESULT
ALTER COLUMN STATUS SET DEFAULT 'FAIL'
Justin의 예에 따라 다음 명령어는 Postgres에서 작동합니다.
alter table foo alter column col2 set default 'bar';
ALTER TABLE <table_name> MODIFY <column_name> DEFAULT <defult_value>
EX: ALTER TABLE AAA MODIFY ID DEFAULT AAA_SEQUENCE.nextval
Oracle Database 12c Enterprise Edition 릴리스 12.2.0.1.0에서 테스트 완료
SQL Azure의 경우 다음 조회가 작동합니다.
ALTER TABLE [TableName] ADD DEFAULT 'DefaultValue' FOR ColumnName
GO
언급URL : https://stackoverflow.com/questions/21057275/alter-table-to-modify-default-value-of-column
반응형
'programing' 카테고리의 다른 글
Angular에서 여러 컨트롤러를 사용하는 방법JS가 맞습니까? (0) | 2023.03.23 |
---|---|
JObject를 사용하여 JSON을 즉시 생성 (0) | 2023.03.23 |
jQuery AJAX 문자 인코딩 (0) | 2023.03.23 |
get_the_id와 post->ID 대 the_id / get_post_meta (0) | 2023.03.23 |
Python을 사용하여 JSON을 요청하고 처리하는 방법은 무엇입니까? (0) | 2023.03.23 |