Getdate по умолчанию для даты вставки - PullRequest
18 голосов
/ 12 января 2011

У меня есть таблица с именем sample, и в ней есть столбец с именем [__INSERT_DATE], который является нулевым.Теперь я хочу изменить столбец со значением по умолчанию getdate().Когда я попробовал следующее, он выдал ошибку.

ALTER TABLE sample
ALTER COLUMN [__INSERT_DATE] [datetime] DEFAULT (getdate()) NULL)

Может кто-нибудь сказать мне, в чем проблема?

Ответы [ 7 ]

28 голосов
/ 12 января 2011

Попробуйте это:

ALTER TABLE MyTable ADD CONSTRAINT
DF_MyTable_Inserted DEFAULT GETDATE() FOR INSERT_DATE
GO

Предполагается, что ваша таблица называется MyTable, столбец - INSERT_DATE, а имя ограничения - DF_MyTable_Inserted

3 голосов
/ 12 января 2011

Попробуйте это:

ALTER TABLE sample ADD CONSTRAINT DF_sample___INSERT_DATE DEFAULT(GETDATE()) FOR __INSERT_DATE
1 голос
/ 05 июля 2016

Мне удалось сделать это с помощью SSManagement Studio

Setting default in SSMS - Screen Shot

сделать поле даты не обнуляемым, тогда из свойств установите значение по умолчанию или привязку для getdate ()

1 голос
/ 15 июня 2011

ALTER TABLE sample ALTER COLUMN [__INSERT_DATE] [datetime] DEFAULT (getdate()) NULL)

В приведенном выше утверждении слишком много заключительных скобокЕсть 2 из них -> (но 3 из них ->)

1 голос
/ 12 января 2011

MSDN дает этот пример:

ALTER TABLE MyCustomers ALTER COLUMN CompanyName SET DEFAULT 'A. Datum Corporation'

Это даст вам

  ALTER TABLE sample ALTER COLUMN __INSERT_DATE SET DEFAULT GETDATE()
0 голосов
/ 04 августа 2018

enter image description here

(Your_Date_Column) Установите значение Null / Not Null и задайте значение по умолчанию GetDate (), но все равно оно не будет работать.Вы должны создать триггер, подобный этому,

CREATE TRIGGER [dbo]. [Trigger_Date] ON [dbo]. [TableName] FOR INSERT AS BEGIN

    Declare @Id int
    set @Id = (select Id from inserted)

    Update [dbo].[TableName]
    Set Your_Date_Column = GetDate()
    Where Id = @Id
END
0 голосов
/ 12 января 2011

Возвращает ли getdate () правильный тип данных даты и времени для вашего объявленного столбца?В SQL Server 2008 появилось несколько новых типов данных даты и времени.

Вот статья, в которой объясняются некоторые различия.DEV / datetime_2008_p1.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...