有没有办法在sqlite3中创建一个具有默认为"now"的日期时间列的表?
以下语句返回语法错误:
create table tbl1(id int primary key, dt datetime default datetime('now'));
Run Code Online (Sandbox Code Playgroud)
更新:这是Sky Sanders提供的正确ddl :
create table tbl1(id int primary key, dt datetime default current_timestamp);
Run Code Online (Sandbox Code Playgroud)
Sky*_*ers 80
试试这个:
create table tbl1(id int primary key, dt datetime default current_timestamp);
Run Code Online (Sandbox Code Playgroud)
背景:
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,YYYY-MM-DD.CURRENT_TIMESTAMP的格式为"YYYY-MM-DD HH:MM:SS".
来自http://www.sqlite.org/lang_createtable.html
Dou*_*rie 14
... default (datetime(current_timestamp))
Run Code Online (Sandbox Code Playgroud)
以下表达式default必须在括号中.如果要使用SQLite日期和时间函数或修饰符执行日期算术,则此表单很有用.
| 归档时间: |
|
| 查看次数: |
80172 次 |
| 最近记录: |