2011-04-13 4 views
2

"CreatedBy"열을 PerformanceData 테이블에 추가하려고합니다. 이 새로운 컬럼을 비 null-nullable로하고 싶습니다. 기존의 NULL을 'NA'로 채 웁니다. 이것은 내가 지금 어떻게하고 있는지를 보여줍니다. 우리는 더 좋은 방법이 있습니까?nullable이 아닌 열을 만들지 만 기존 NULL을 특정 값으로 채 웁니다.

ALTER TABLE PerformanceData ADD CreatedBy VARCHAR(50) NOT NULL 
CONSTRAINT DF1 DEFAULT('NA') 

ALTER TABLE PerformanceData DROP CONSTRAINT DF1 

DEFAULT 제약 조건을 만들고 나중에 삭제합니다. 기본적으로 나중에 값을 삽입하지 않기를 바랍니다.

답변

4

나에게 좋을 것 같습니다. 당신이 다른 방법을 원한다면, 당신은 세 단계를 수행 할 수 있습니다

ALTER TABLE PerformanceData ADD CreatedBy VARCHAR(50) NULL 

UPDATE PerformanceData SET CreatedBy = 'NA' 

ALTER TABLE PerformanceData ALTER COLUMN CreatedBy VARCHAR(50) NOT NULL 
1

나는 기본 제약 조건이 단계에서 사용자가 원하는 방식으로 작업을 할 것입니다.

관련 문제