Как создать столбец datetime со значением по умолчанию в sqlite3? - PullRequest
43 голосов
/ 10 апреля 2010

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

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

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

Обновление : Вот правильная вежливость ddl Sky Sanders :

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

Ответы [ 4 ]

77 голосов
/ 10 апреля 2010

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

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

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

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

.

С http://www.sqlite.org/lang_createtable.html

14 голосов
/ 11 апреля 2010
... default (datetime(current_timestamp))

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

6 голосов
/ 26 июня 2011

CURRENT_TIMESTAMP - буквальное значение, аналогичное 'mystring'

колонного ограничение:

enter image description here

буквальное значение:

enter image description here

0 голосов
/ 19 августа 2017

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

create table tablename (date_field_name Created_on default CURRENT_DATE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...