【发布时间】:2014-04-14 22:39:04
【问题描述】:
通常,我有一个触发器来更新我的一个表中的 date_last_modified 字段。我遇到的问题是有时我需要手动调整 date_last_modified 字段中的时间戳。但是,当我这样做时,触发器会触发并将其设置回 now()。
这是我的触发器:
CREATE TRIGGER Preference_on_update After UPDATE ON Preference for each row
begin
update Preference set date_last_modified = datetime('now')
where rowid = old.rowid;
end
我想要做的是仅在更新尚未包含 date_last_modified 字段的值时触发此触发器。如果更新语句包含 date_last_modified,则触发器不应调整任何内容。
我查看了 SQLite 触发器的文档和语法,发现有一个“WHEN”子句,但到目前为止我的咒语都没有成效。
这个可以吗?
【问题讨论】:
标签: sqlite triggers conditional