2009-12-08 11 views
7

У меня есть стол, в котором есть столбец «CompanyID int not null», а его значение по умолчанию - 10. Теперь я хочу написать запрос, который изменит это значение по умолчанию на 1. Как я могу сделай это?Значение по умолчанию столбца Alter

Любая помощь будет оценена по достоинству. Я использую SQL сервер 2000.

+1

Вы хотите, чтобы вы установили строки, которые по умолчанию были 10, к новому значению? (В этом случае вам может показаться, что трудно определить разницу между строкой, которая была по умолчанию равна 10, и строкой, которая была установлена ​​вручную на 10.) –

+0

В таблице нет записи. Я хочу изменить значение по умолчанию для столбца CompanyID равным 1. так что каждый раз, когда я вставляю данные в таблицу, он должен автоматически вставлять 1 в столбец CompanyID. Чем больше значение по умолчанию устанавливается через ограничение. – user92027

ответ

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

Я пробовал это, он не работает. Ошибка: «Неправильный синтаксис рядом с ключевым словом« SET ». – user92027

+0

Я думаю, что это невозможно сделать в SQL Server 2000 – Jonathan

9

Первое, узнать название «ограничения» на поле, которое используется для установки по умолчанию. Вы можете сделать это, выполнив этот запрос:

EXEC sp_helpconstraint 'MyTable' 

Затем вы можете просто добавить и снова добавить ограничение.

ALTER TABLE dbo.MyTable 
DROP CONSTRAINT def_MyTable_CompanyID 
GO 

ALTER TABLE dbo.MyTable 
ADD CONSTRAINT def_MyTable_CompanyID DEFAULT (1) FOR CompanyID 
GO 
17

Я думаю, что лучшее, что вы можете сделать, это падение ограничения и создать его снова:

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 
+1

Спасибо, чувак, я отлично работаю. Большое спасибо. – user92027

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

Я попытался это в MySQL и давал ошибку вблизи Pending

Затем я попробовал

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

whi ч работал нормально.

Смежные вопросы