Подтвердить что ты не робот

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

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

должен вставить строку, а значение Date должно быть текущей.

4b9b3361

Ответ 1

Добавьте значение по умолчанию с функцией GETDATE() как значение.

ALTER TABLE myTable 
  ADD CONSTRAINT CONSTRAINT_NAME
    DEFAULT GETDATE() FOR myColumn

Ответ 2

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
)

Ответ 3

Вы можете использовать:

Insert into Event(Description,Date) values('teste', GETDATE());

Кроме того, вы можете изменить таблицу так, чтобы "Дата" имела значение по умолчанию "GETDATE()"

Ответ 4

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

 ALTER TABLE 
 [dbo].[Table_Name]
 ADD  CONSTRAINT [Constraint_Name] 
 DEFAULT (getdate()) FOR [Column_Name]

Изменить запрос таблицы

Alter TABLE [dbo].[Table_Name](
    [PDate] [datetime] Default GetDate())

Ответ 5

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

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

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

3 - перейти к свойствам столбцов

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

введите описание изображения здесь

Ответ 6

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

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

Ответ 7

Я также столкнулся с этой необходимостью для моего проекта базы данных. Я решил поделиться своими выводами здесь.

1) Нет пути к полю NOT NULL без значения по умолчанию, когда данные уже существуют (Могу ли я добавить ненулевой столбец без значения DEFAULT)

2) К этой теме уже давно обращаются. Вот вопрос 2008 года (добавление столбца со значением по умолчанию к существующей таблице в SQL Server)

3) Ограничение DEFAULT используется для предоставления значения по умолчанию для столбца. Значение по умолчанию будет добавлено ко всем новым записям, если не указано другое значение. (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: проект БД: дизайнер таблиц) enter image description here

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

code already provided above

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

4) Просмотр данных ПОСЛЕ применения изменений. enter image description here

Ответ 8

Щелкните правой кнопкой мыши таблицу и выберите "Дизайн", затем щелкните столбец, для которого необходимо установить значение по умолчанию.

Затем в нижней части страницы в свойствах столбца установите значение по умолчанию или привязку к: 'getdate()'