использовать текущую дату в качестве значения по умолчанию для столбца


есть ли способ, чтобы установить значение по умолчанию для столбца 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 58

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())

использовать сейчас как по умолчанию для столбца даты вам нужно будет:

1- открыть конструктор таблиц

2- выберите столбец

3- перейти к колонке proprerties

4- установите значение значение по умолчанию или привязка propriete To ( getdate ())

enter image description here

синтаксис создания таблицы может быть следующим:

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) enter image description here

2) Используйте инструмент сравнения схем для создания сценария изменений.

code already provided above

3) просмотр данных перед применением изменения. enter image description here

4) просмотр данных после применения изменения. enter image description here