当我们创建表时如何使用SQLITE将日期时间的默认值设置为“now”?
我们有这样的想法:
CREATE TABLE IF NOT EXISTS files
(encoded_url varchar(65) UNIQUE NOT NULL primary key, modified DATETIME NOT NULL);
我们希望每次创建新记录时都自动用 now
时间填充其 modified
字段。我们能否告诉 SQLite,当我们创建表时它必须做这样的事情,或者当我们填充一行时我们应该总是插入now
?
We have something like:
CREATE TABLE IF NOT EXISTS files
(encoded_url varchar(65) UNIQUE NOT NULL primary key, modified DATETIME NOT NULL);
We want each time a new record is created to fill its modified
field with now
time automatically. Can we tall SQLite that it has to do such thing when we create a table or we should always insert now
when we fill in a row?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以在列规范中使用默认的 CURRENT_TIMESTAMP :
还有其他日期/时间选项,记录在 列定义
create table
语法文档的一部分。You can use
default CURRENT_TIMESTAMP
in the column specification:There are other date/time options, documented in the column definition part of the
create table
syntax docs.如果文件不存在则创建表
(encoded_url varchar(65) UNIQUE NOT NULL 主键,修改为 DEFAULT (datetime('now','localtime')) NOT NULL);
CREATE TABLE IF NOT EXISTS files
(encoded_url varchar(65) UNIQUE NOT NULL primary key, modified DEFAULT (datetime('now','localtime')) NOT NULL);