2010-06-17 4 views
31

SQL Server 데이터베이스에 기존 열이 있습니다. 내가 생각할 수있는 모든 것에 대해 시도해 보았지만 기본값을 열에 추가 할 수는 없습니다. 다른 모든 데이터베이스에서 작동하는 것은이미 존재하는 열에 기본값을 추가하는 방법은 무엇입니까?

alter table mytable 
    alter column mycolumn set default(now()) --mycolumn is a datetime 

어떻게 SQL Server에서 수행합니까?

내가 그 정확한 구문 얻을 오류는 incorrect syntax near the keyword 'set'

답변

63

사용 :

ALTER TABLE dbo.mytable 
ADD CONSTRAINT def_mycolumn DEFAULT GETDATE() FOR mycolumn 

대한 추가 정보를 원하시면 다음을 참조하십시오 Working with Default Constraints

+1

추가를 사용할 수 있습니다 당신을 위해서'for '비트 .. – Earlz

+0

@ 에를루스 : 그걸 보았다, 가장 높이 평가 : –

+0

지금은 3 분 더 기다려야 만 ... – Earlz

6

을 이미 존재하는의 기본값을 변경하려면 기둥. 당신은 먼저 제약 조건을 삭제하고 테이블의 제약 사항을 가지고 있지 않은 경우 다음

ALTER TABLE <TABLE> 
DROP CONSTRAINT <CONSTRAINT NAME> 

ALTER TABLE <TABLE> 
ADD CONSTRAINT <CONSTRAINT NAME> DEFAULT <VALUE> for <COLUMN> 

다음과 같이 다시 한번 제약 조건을 추가 할 필요가, 당신은 아래의 쿼리

sp_helpconstraint <TABLE>