Nullable 열을 NOT NULL(기본값)로 변경합니다.
오늘 우연히 null을 허용하는 '생성'이라는 날짜/시간 열이 있는 오래된 테이블을 발견했습니다.이 값을 NOT NULL이 되도록 변경하고 기본값(getdate())에 추가하는 제약조건을 포함합니다.
지금까지 다음과 같은 스크립트를 입수했습니다.이 스크립트는 모든 null을 사전에 정리하면 정상적으로 동작합니다.
ALTER TABLE dbo.MyTable ALTER COLUMN Created DATETIME NOT NULL
ALTER 문에도 기본값을 지정할 수 있는 방법이 있습니까?
세 가지 문장으로서 이 작업을 수행해야 할 것 같습니다.제가 둘러본 결과 컬럼을 추가할 때는 할 수 있지만 변경할 때는 할 수 없는 것 같습니다.
ALTER TABLE dbo.MyTable
ADD CONSTRAINT my_Con DEFAULT GETDATE() for created
UPDATE MyTable SET Created = GetDate() where Created IS NULL
ALTER TABLE dbo.MyTable
ALTER COLUMN Created DATETIME NOT NULL
먼저 늘이 아닌 모든 레코드를 기본값으로 업데이트한 후 alter table 문을 사용해야 할 수 있습니다.
Update dbo.TableName
Set
Created="01/01/2000"
where Created is NULL
다음 두 가지 쿼리를 실행해야 합니다.
하나 - 필요한 열에 기본값을 추가합니다.
ALTER TABLE 'Table_Name' 'Column_Name'에 기본값 '값' 추가
다음과 같이 Column IsDeleted에 기본값을 추가합니다.
예: ALTER TABLE [dbo][종업원] IsDeleted 기본값0 추가
2 - null이 아닌 null로 변경할 수 있는 열 값을 null이 아닌 값으로 변경합니다.
ALTER TABLE 'table_name' ALTER 열 'column_name' 'data_type'이 NULL이 아닙니다.
IsDeleted 열을 null이 아닌 것으로 만들고 싶다.
테이블 변경 [dbo][직원] 열 변경 IsDeleted BIT가 NULL이 아닙니다.
SQL Server의 경우 설계 뷰 내의 열 속성에서 수행할 수 있습니다.
시험해 보실래요?:
ALTER TABLE dbo.TableName
ADD CONSTRAINT DF_TableName_ColumnName
DEFAULT '01/01/2000' FOR ColumnName
이거 드셔보세요
ALTER TABLE_name ALTER COLUMN col_name data_type이 NULL이 아닙니다.
언급URL : https://stackoverflow.com/questions/3186760/change-a-nullable-column-to-not-null-with-default-value
'source' 카테고리의 다른 글
각 행을 구분하지 않고 파일을 동일한 부분으로 분할하려면 어떻게 해야 합니까? (0) | 2023.04.14 |
---|---|
콘텐츠에 대한 WPF 컨트롤 크기 (0) | 2023.04.14 |
MVVM을 사용하는 wpf의 대화상자에 대한 바람직한 방법 또는 나쁜 방법? (0) | 2023.04.14 |
Excel에서 번다운 차트를 작성하려면 어떻게 해야 하나요? (0) | 2023.04.14 |
bash 스크립트를 사용하여 모든 git 브랜치를 반복하는 방법 (0) | 2023.04.14 |