我们有类似的东西:
CREATE TABLE IF NOT EXISTS files
(encoded_url varchar(65) UNIQUE NOT NULL primary key, modified DATETIME NOT NULL);
我们希望每次创建新记录时自动将modified
字段填入now
字段。在我们创建表时,我们是否可以高举SQLite它必须做这样的事情,或者当我们填写一行时我们应该总是插入now
?
答案 0 :(得分:2)
您可以在列规范中使用default CURRENT_TIMESTAMP
:
sqlite> create table t (a datetime default CURRENT_TIMESTAMP, b text);
sqlite> insert into t(b) values ('hello');
sqlite> select * from t;
2011-10-16 17:29:54|hello
sqlite> insert into t(b) values ('hello again');
sqlite> select * from t;
2011-10-16 17:29:54|hello
2011-10-16 17:30:04|hello again
还有其他日期/时间选项,记录在create table
语法文档的column definition部分。
答案 1 :(得分:1)
CREATE TABLE IF NOT NOT EXISTS文件 (encoded_url varchar(65)UNIQUE NOT NULL主键,修改后的DEFAULT(datetime('now','localtime'))NOT NULL);