использовать текущую дату в качестве значения по умолчанию для столбца
есть ли способ, чтобы установить значение по умолчанию для столбца DateTime.Now
в Sql Server?
пример:
table Event
Id int (auto-increment) not null
Description nvarchar(50) not null
Date datetime not null
строку:
Insert into Event(Description) values('teste');
следует вставить строку и значение даты должно быть текущей датой.
7 ответов:
добавьте ограничение по умолчанию с функцией GETDATE () в качестве значения.
ALTER TABLE myTable ADD CONSTRAINT CONSTRAINT_NAME DEFAULT GETDATE() FOR myColumn
CREATE TABLE Orders( O_Id int NOT NULL, OrderNo int NOT NULL, P_Id int, OrderDate date DEFAULT GETDATE() // you can set default constraints while creating the table )
вы можете использовать:
Insert into Event(Description,Date) values('teste', GETDATE());
кроме того, вы можете изменить таблицу так, что "дата"имеет значение по умолчанию," GETDATE ()"
выберите имя столбца таблицы, где вы хотите получить значение по умолчанию текущей даты
ALTER TABLE [dbo].[Table_Name] ADD CONSTRAINT [Constraint_Name] DEFAULT (getdate()) FOR [Column_Name]
Alter Table Query
Alter TABLE [dbo].[Table_Name]( [PDate] [datetime] Default GetDate())
синтаксис создания таблицы может быть следующим:
Create table api_key(api_key_id INT NOT NULL IDENTITY(1,1) PRIMARY KEY, date_added date DEFAULT GetDate());
синтаксис запроса вставки может быть следующим:
Insert into api_key values(GETDATE());
Я также столкнулся с этой необходимостью для моего проекта базы данных. Я решил поделиться своими находками здесь.
1) нет никакого способа не нулевое поле без значения по умолчанию, когда данные уже существуют (могу ли я добавить столбец not null без значения по умолчанию)
2) Эта тема рассматривалась в течение длительного времени. Вот вопрос 2008 года (добавьте столбец со значением по умолчанию в существующую таблицу в SQL Server)
3) Ограничение по умолчанию используется для предоставления значения по умолчанию для столбца. Значение по умолчанию будет добавлено ко всем новым записям, если другое значение не указано. (https://www.w3schools.com/sql/sql_default.asp)
4) проект базы данных Visual Studio, который я использую для разработки, действительно хорош в создании сценариев изменений для вас. Это сценарий изменения, созданный для моего продвижения БД:
GO PRINT N'Altering [dbo].[PROD_WHSE_ACTUAL]...'; GO ALTER TABLE [dbo].[PROD_WHSE_ACTUAL] ADD [DATE] DATE DEFAULT getdate() NOT NULL;
-
вот шаги, которые я предпринял, чтобы обновить мой база данных с использованием Visual Studio для разработки.
1) добавить значение по умолчанию (Visual Studio SSDT: DB Project: table designer)
2) Используйте инструмент сравнения схем для создания сценария изменений.
code already provided above