我正在 SQLite 中创建一个审计触发器。对于任何 UPDATE,触发器都必须将同一表的 NEW.change_date 设置为当前日期的值。一个简单的表达式 NEW.change_date = ... 不会让
CREATE TRIGGER DRCT_AUDIT
UPDATE ON DIRECTORIES
BEGIN
NEW.change_date = strftime('%s', CURRENT_TIMESTAMP);
END;
SQLite 中不允许这种语法吗?有替代品吗?
结果就像这样,但在我看来,它看起来不是很好:
CREATE TRIGGER DRCT_AUDIT
UPDATE OF <здесь исключен change_date>
ON DIRECTORIES
BEGIN
UPDATE directories
SET change_date = strftime('%s', CURRENT_TIMESTAMP)
WHERE drct_id = NEW.drct_id;
END;
你的第二个选择更接近真相。您还可以这样做: