使用SQLite更新current_timestamp
每当更新行时,我想更新具有当前时间戳的字段。
在MySQL中,我会在声明表时做 LastUpdate TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP 但是,“on update”部分与SQLite不起作用。 编辑:为了记录,这里是我当前的触发器: CREATE TRIGGER [UpdateLastTime] AFTER UPDATE ON Package FOR EACH ROW BEGIN UPDATE Package SET LastUpdate = CURRENT_TIMESTAMP WHERE ActionId = old.ActionId; END 谢谢 是的,你需要使用触发器。 (只是检查:你的帖子触发器是否正常工作?乍一看,对我来说看起来不错)MySQL的ON UPDATE CURRENT_TIMESTAMP是一个非常独特的单用途快捷方式。就是这样;对于任何其他值或除TIMESTAMP之外的任何列类型,此构造不能类似使用。 (注意,这个功能是在 据我所知,没有其他RDBMS提供这个捷径代替使用实际的触发器。从我读过的内容中,必须使用触发器在MS SQL,SQLite,PostgreSQL和Oracle上完成此操作。 路人最后一句话: 这不是与ON UPDATE子句相关的外键约束混淆。这是完全不同的,可能所有支持外键限制的RDBMS(包括MySQL和SQLite)都可以。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |