Как добавить значение по умолчанию в уже существующий столбец? - PullRequest
35 голосов
/ 17 июня 2010

У меня есть существующий столбец в моей базе данных SQL Server. Я пробовал все, что я могу придумать, но не могу получить значение по умолчанию для добавления в столбец. Что работает в любой другой базе данных

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

Как мне это сделать в SQL Server?

Ошибка, которую я получаю для этого точного синтаксиса: incorrect syntax near the keyword 'set'

Ответы [ 2 ]

70 голосов
/ 17 июня 2010

Использование:

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

Для получения дополнительной информации см .: Работа с ограничениями по умолчанию

7 голосов
/ 04 мая 2011

Если вы хотите изменить значение по умолчанию для уже существующего столбца.Сначала необходимо удалить ограничение, а затем снова добавить ограничение, как показано ниже:

ALTER TABLE <TABLE> 
DROP CONSTRAINT <CONSTRAINT NAME>

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

Если у вас нет сведений об ограничениях таблицы, вы можете использовать приведенный ниже запрос

sp_helpconstraint <TABLE>
...