2009-12-08 6 views
7

'CompanyID int not null'열이 있고 기본값이 10으로 설정된 테이블이 있습니다. 이제이 기본값을 1로 변경할 쿼리를 작성하고 싶습니다. 어떻게 할 수 있습니까? 해?열의 기본값 변경

도움이 될 것입니다. SQL 서버 2000을 사용하고 있습니다.

+1

기본적으로 10으로 설정된 행을 새로운 값으로 설정 하시겠습니까? (이 경우 기본값이 10 인 행과 수동으로 10으로 설정된 행의 차이를 알기가 어려울 수 있습니다.) –

+0

테이블에 항목이 없습니다. CompanyID 열의 기본값을 1.so로 변경하여 테이블에 데이터를 삽입 할 때마다 CompanyID 열에 1을 자동으로 삽입해야합니다. 기본값은 제약 조건을 통해 기본값으로 설정됩니다. – user92027

답변

1
ALTER TABLE tablename ALTER COLUMN CompanyID SET DEFAULT 1; 
+1

나는 이것을 시도했지만 작동하지 않습니다. 오류는 '키워드'SET '근처의 구문이 올바르지 않습니다.' – user92027

+0

나는 SQL 서버 2000에서 이런 식으로 할 수 없다고 생각한다. – Jonathan

9

먼저 기본값을 설정하는 데 사용되는 필드에서 '제약 조건'의 이름을 찾으십시오. 다음 쿼리를 실행하여이 작업을 수행 할 수 있습니다.

EXEC sp_helpconstraint 'MyTable' 

그런 다음 제약 조건을 삭제했다가 다시 추가하면됩니다.

alter table dbo.yourTable 
drop constraint default_value_name_constraint 
go 
alter table dbo.yourTable 
add constraint default_value_name_constraint default YourValue for ColumnName 
go 
17

은 당신이 할 수있는 최선의 제약 조건을 삭제하고 다시 만들 생각 그런 다음 시도했습니다.

ALTER TABLE tablename ALTER COLUMN CompanyID SET DEFAULT 'Pending'; 

잘 작동했습니다.

+1

고맙다. 잘하고있다. 고마워. – user92027

-1
ALTER TABLE tablename ALTER COLUMN CompanyID SET DEFAULT Pending; 

내가 MySQL의에서 이것을 시도하고

보류

근처 오류를주고 있었다 :

ALTER TABLE dbo.MyTable 
DROP CONSTRAINT def_MyTable_CompanyID 
GO 

ALTER TABLE dbo.MyTable 
ADD CONSTRAINT def_MyTable_CompanyID DEFAULT (1) FOR CompanyID 
GO 
관련 문제