我已经创建了一个触发器来更新任何更改的列
这不是真正的表,只是一个例子
CREATE TABLE tablename (
_id INTEGER NOT NULL,
title TEXT,
type TEXT,
value TEXT,
updated_on INTEGER
)
CREATE TRIGGER updated_on
AFTER UPDATE ON tablename BEGIN
UPDATE tablename SET updated_on=strftime('%s', datetime('now', 'localtime'), 'utc')
WHERE _id=NEW._ID;
END;
如果只更新了特定列,我需要触发器来避免更新。
在具体示例中,我需要仅在title
或type
更新时调用触发器,但如果仅value
已更新,则不会调用触发器。
我试过
CREATE TRIGGER updated_on
AFTER UPDATE OF 'title','type' ON tablename BEGIN
UPDATE tablename SET updated_on=strftime('%s', datetime('now', 'localtime'),'utc')
WHERE _id=NEW._ID;
END;
但触发器根本没有更新。
答案 0 :(得分:0)
我在问题中创建的触发器是正确的实现。
错误出现在一个真实的项目中,因为我首先错误拼写了真正的列名。