Как создать столбец даты и времени со значением по умолчанию в sqlite3?

Существует ли способ составить таблицу в sqlite3, который имеет столбец даты и времени, к которому это принимает значение по умолчанию 'теперь'?

Следующее утверждение возвращает синтаксическую ошибку:

create table tbl1(id int primary key, dt datetime default datetime('now'));

Обновление: вот является корректная ddl любезность Неба Sanders:

create table tbl1(id int primary key, dt datetime default current_timestamp);
44
задан jww 25 March 2019 в 00:42
поделиться

2 ответа

Попробуйте это:

create table tbl1(id int primary key, dt datetime default current_timestamp);

Справочная информация:

Ограничение DEFAULT определяет значение по умолчанию для использования при выполнении INSERT. Это значение может быть NULL, строковая константа, число или постоянное выражение, заключенное в круглые скобки. Значение по умолчанию может также быть одним из специальных ключевых слов, не зависящих от конкретного случая CURRENT_TIME, CURRENT_DATE или CURRENT_TIMESTAMP. Если значение является NULL, строковой константой или числом, оно вставляется в столбец всякий раз, когда оператор INSERT, который не указывает значение для столбца выполняется. Если значение CURRENT_TIME, CURRENT_DATE или CURRENT_TIMESTAMP, то в столбец вставляется текущая дата и/или время UTC вставляется в столбцы. Для CURRENT_TIME формат - HH:MM:SS. Для CURRENT_DATE, ГГГГ-ММ-ДД. Формат для CURRENT_TIMESTAMP - "YYYY-MM-DD HH:MM:SS".

От http://www.sqlite.org/lang_createtable.html

79
ответ дан 26 November 2019 в 21:57
поделиться
... default (datetime(current_timestamp))

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

14
ответ дан 26 November 2019 в 21:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: