IT박스

SQL의 기존 테이블에 새로운 널이 아닌 열이있는 대체 테이블

itboxs 2021. 1. 7. 07:45
반응형

SQL의 기존 테이블에 새로운 널이 아닌 열이있는 대체 테이블


SQL Server 2005의 기존 테이블에 null이 아닌 열을 추가하는 방법은 무엇입니까?


DEFAULT를 지정하거나 NULL이 허용 된 열을 추가하고 모든 값을 업데이트 한 다음 열을 NOT NULL로 변경해야합니다.

ALTER TABLE <YourTable> 
ADD <NewColumn> <NewColumnType> NOT NULL DEFAULT <DefaultValue>

다음 중 하나를 선택하십시오.

a) 유효한 기본값으로
null이 아님 만들기 b) null을 만들고 채우고 null이 아님으로 변경


테이블에 NOT NULL 열을 추가하는 방법에는 두 가지가 있습니다.

  1. NULL 제약 조건이있는 열을 추가하여 테이블을 변경합니다. 열을 일부 데이터로 채 웁니다. 예 : 열은 ''로 업데이트 할 수 있습니다.

  2. DEFAULT 값을 제공하여 NOT NULL 제약 조건이있는 열을 추가하여 테이블을 변경합니다. ALTER 테이블 TableName ADD NewColumn 데이터 유형 NOT NULL DEFAULT ''


이를 수행하는 가장 쉬운 방법은 다음과 같습니다.

ALTER TABLE db.TABLENAME ADD COLUMN [datatype] NOT NULL DEFAULT 'value'

예 : 기본값 0으로 테이블 ABC에 열 x (비트 데이터 유형) 추가

ALTER TABLE db.ABC ADD COLUMN x bit NOT NULL DEFAULT 0

추신 : 나는 이것을 위해 테이블 ​​디자이너를 사용하는 것을 좋아하지 않습니다. 때때로 전통적인 / 구식이 훨씬 쉽습니다. :). 답변이 도움이되기를 바랍니다.


IF NOT EXISTS (SELECT 1
FROM syscolumns sc
JOIN sysobjects so
ON sc.id = so.id
WHERE so.Name = 'Table1'
AND sc.Name = 'Col1')
BEGIN
ALTER TABLE Table1
ADD Col1 INT NOT NULL DEFAULT 0;
END
GO

참조 URL : https://stackoverflow.com/questions/4468187/alternate-table-with-new-not-null-column-in-existing-table-in-sql

반응형