Можно ли создать столбец datetime со значением по умолчанию в sqlite3?
есть ли способ создать таблицу в sqlite3, которая имеет столбец datetime по умолчанию "сейчас"?
следующий оператор возвращает синтаксическую ошибку:
create table tbl1(id int primary key, dt datetime default datetime('now'));
обновление: вот правильный ddl любезно Небо Сандерс:
create table tbl1(id int primary key, dt datetime default current_timestamp);
4 ответов
попробуйте это:
create table tbl1(id int primary key, dt datetime default current_timestamp);
Справочная информация:
ограничение по умолчанию указывает значение по умолчанию для использования при выполнении ВСТАВЛЯТЬ. Значение может быть NULL, a строковая константа, число или постоянное выражение, заключенное в скобки. Значение по умолчанию может также быть одним из специальных case-независимые ключевые слова CURRENT_TIME, CURRENT_DATE или ТЕКУЩАЯ_ОТМЕТКА_ВРЕМЕНИ. Если значение NULL, строковая константа или число, it вставляется в столбец всякий раз оператор INSERT, который не указать значение для столбца выполненный. Если значение CURRENT_TIME, CURRENT_DATE или Current_timestamp, то ток Дата и/или время вставляется столбец. В текущее время, в формат HH: MM: SS. Для current_date используется, ГГГГ-ММ-ДД. Формат CURRENT_TIMESTAMP - " гггг-ММ-ДД HH: MM: SS".
... default (datetime(current_timestamp))
выражение, следующее default
должны быть в скобках. Эта форма полезна, если вы хотите выполнить арифметику дат с помощью SQLite функции даты и времени или модификаторы.
вы можете использовать следующий запрос для использования текущего значения даты в таблице
create table tablename (date_field_name Created_on default CURRENT_DATE);