【问题标题】:sqlite timestamp is not workingsqlite 时间戳不起作用
【发布时间】:2013-11-27 11:52:54
【问题描述】:

我正在尝试构建一个 sqlite 数据库,并将时间戳作为列之一。

这是我的结构:

CREATE TABLE 日志(
log_id 整数主键自动增量,
log_date TIMESTAMP 默认 CURRENT_TIMESTAMP,
error_text 文本
)

但是当我插入表格时,log_date 字段保持空白:
INSERT INTO logs(error_text)VALUES("some error text")

我做错了什么?

【问题讨论】:

标签: sql sqlite


【解决方案1】:

不要在插入查询中使用null 作为占位符

这行得通

INSERT INTO logs(error_text)
VALUES("some error text");

这不是

INSERT INTO logs(error_text, log_date)
VALUES("some error text", null);

SQLFiddle demo

【讨论】:

  • 这不是他在做的吗?
  • 显然不是。如果他这样做了,那么他提供的代码就可以工作。
  • 也许问题出在其他地方?老版本的SQLite什么的,不过不知道,等OP回复吧。
  • @juergend 感谢您的回复,但这正是我正在做的……您还有其他解决方案吗?
  • @Octoshape 如何检查我的 sqLite 版本?
【解决方案2】:

我只是可能遇到了同样的问题,并在寻找解决方案时发现了您的问题。

在我的情况下,问题是 SQLite 管理员在所有 log_date 列中显示“0”。但是,在我的 C# 应用程序中编写“SELECT * from logs”表明数据是正确的,即使是以前的会话,在我注意到问题之前(更改名称以匹配您的架构)。

所以我将其归结为 SQLite Administrator 中的一个错误,尽管没有通过快速 Google 搜索找到确认。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多