Ответ 1
Использование:
ALTER TABLE dbo.mytable
ADD CONSTRAINT def_mycolumn DEFAULT GETDATE() FOR mycolumn
Для получения дополнительной информации см. Работа с ограничениями по умолчанию
У меня есть существующий столбец в моей базе данных SQL Server. Я пробовал все, о чем я могу думать, но не могу получить значение по умолчанию, которое нужно добавить в столбец. Что работает в любой другой базе данных,
alter table mytable
alter column mycolumn set default(now()) --mycolumn is a datetime
Как это сделать в SQL Server?
Ошибка для этого точного синтаксиса incorrect syntax near the keyword 'set'
Использование:
ALTER TABLE dbo.mytable
ADD CONSTRAINT def_mycolumn DEFAULT GETDATE() FOR mycolumn
Для получения дополнительной информации см. Работа с ограничениями по умолчанию
Если вы хотите изменить значение по умолчанию для уже существующего столбца. Вы должны сначала удалить ограничение, а затем добавить ограничение снова, как показано ниже
ALTER TABLE <TABLE>
DROP CONSTRAINT <CONSTRAINT NAME>
ALTER TABLE <TABLE>
ADD CONSTRAINT <CONSTRAINT NAME> DEFAULT <VALUE> for <COLUMN>
Если у вас нет данных о Constraint таблицы, вы можете использовать следующий запрос
sp_helpconstraint <TABLE>