SQLite是否存储了行的最后修改日期?

Pen*_*m10 6 sqlite

SQLite是否存储行的最后修改日期,如文件系统?
如果没有,我该怎么办?

sky*_*man 11

我认为您只能在表中添加列并创建触发器以使用datetime('now')更新列值;

  • 这也是我试图做的事情.有关`insert`的示例,请参见http://www.shokhirev.com/nikolai/abc/sql/triggers.html; 你必须为`update`添加一个类似的触发器.(另) (2认同)

小智 11

SQLite 本身不会跟踪修改或创建时间。您必须自己添加此功能。为了提供帮助,这里有一个 SQL 触发器的示例,它可以自动设置您选择的列的更新时间。

CREATE TABLE appInfo (
    bundle_id       TEXT NOT NULL
                         PRIMARY KEY,
    appname         TEXT,
    title           TEXT DEFAULT appname,
    display_image   TEXT DEFAULT [default.gif],
    full_size_image TEXT DEFAULT [default.gif],
    bundle_version  TEXT DEFAULT [1.0],
    company_id      TEXT,
    ipaname         TEXT,
    createdatetime  TEXT DEFAULT (strftime('%Y-%m-%d %H:%M:%S:%s', 'now', 'localtime') ),
    updatedatetime  TEXT DEFAULT (strftime('%Y-%m-%d %H:%M:%S:%s', 'now', 'localtime') ) 
);

CREATE TRIGGER update_appInfo_updatetime
        BEFORE UPDATE
            ON appInfo
BEGIN
    UPDATE appinfo
       SET updatedatetime = strftime('%Y-%m-%d %H:%M:%S:%s', 'now', 'localtime') 
     WHERE bundle_id = old.bundle_id;
END;
Run Code Online (Sandbox Code Playgroud)