Подтвердить что ты не робот

Могу ли я создать столбец datetime со значением по умолчанию в sqlite3?

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

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

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);
4b9b3361

Ответ 1

Попробуйте следующее:

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

Фон:

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

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

Ответ 3

CURRENT_TIMESTAMP - это буквальное значение, подобное 'mystring'

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

enter image description here

буквальным-значение:

enter image description here

Ответ 4

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

create table tablename (date_field_name Created_on default CURRENT_DATE);