IT

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

itgroup 2023. 7. 12. 23:41
반응형

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

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

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

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

다음 중 하나를 선택합니다.

일부 유효한 기본값으로 null이 아닌 생성
null을 만들고, 채우고, null이 아닌 것으로 변경합니다.

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

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

  2. 기본값을 지정하여 NULL 제약 조건이 아닌 열을 추가하여 테이블을 변경합니다.ALTER 테이블 이름 ADD 새 열 데이터 유형이 NULL이 아님 기본값 '

가장 쉬운 방법은 다음과 같습니다.

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

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

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

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

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

반응형