Есть ли способ установить значение столбца по умолчанию 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');
должен вставить строку, а значение даты должно быть текущей датой.
sql
sql-server
Dcarneiro
источник
источник
Ответы:
Добавьте ограничение по умолчанию с функцией GETDATE () в качестве значения.
ALTER TABLE myTable ADD CONSTRAINT CONSTRAINT_NAME DEFAULT GETDATE() FOR myColumn
источник
CONSTRAINT
ключевое слово. Должно быть... ADD CONSTRAINT MY_CONSTRAINT_NAME ...
GETDATE()
нам время UTC?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 )
источник
[...]OrderDate DATE CONSTRAINT DF_Orders_date DEFAULT GETDATE()[...]
Вы можете использовать:
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) Невозможно создать поле 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: DB Project: конструктор таблиц)
2) Используйте инструмент сравнения схем для создания сценария изменения.
3) Просмотрите данные ПЕРЕД применением изменения.
4) Просмотрите данные ПОСЛЕ применения изменения.
источник
Чтобы использовать текущую дату по умолчанию для столбца даты, вам необходимо:
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());
источник
Щелкните правой кнопкой мыши таблицу и выберите «Дизайн», затем щелкните столбец, для которого нужно установить значение по умолчанию.
Затем внизу страницы в свойствах столбца установите значение по умолчанию или привязку к: 'getdate ()'
источник