Ответ 1
Добавьте значение по умолчанию с функцией GETDATE() как значение.
ALTER TABLE myTable
ADD CONSTRAINT CONSTRAINT_NAME
DEFAULT GETDATE() FOR myColumn
Есть ли способ установить значение по умолчанию для столбца на 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 должно быть текущей.
Добавьте значение по умолчанию с функцией 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 [dbo].[Table_Name](
[PDate] [datetime] Default GetDate())
Чтобы использовать текущую дату как по умолчанию для столбца даты, вам необходимо:
1 - конструктор открытых таблиц
2 - выберите столбец
3 - перейти к свойствам столбцов
4 - установить значение Значение по умолчанию или привязка propriete To (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 без значения по умолчанию, когда данные уже существуют (Могу ли я добавить ненулевой столбец без значения 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: проект БД: дизайнер таблиц)
2) Используйте инструмент сравнения схем для генерации сценария изменения.
code already provided above
Щелкните правой кнопкой мыши таблицу и выберите "Дизайн", затем щелкните столбец, для которого необходимо установить значение по умолчанию.
Затем в нижней части страницы в свойствах столбца установите значение по умолчанию или привязку к: 'getdate()'