Триггер аудита SQLite

Создаю триггер аудита в 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;

Ответы (1 шт):

Автор решения: Ainar-G

Ваш второй вариант ближе к правде. Вот как можно ещё:

CREATE TRIGGER IF NOT EXISTS
 AFTER UPDATE
    ON directories
   FOR EACH ROW
BEGIN
  UPDATE directories
     SET change_date = STRFTIME('%s', CURRENT_TIMESTAMP)
   WHERE drct_id = NEW.drct_id
  ;
END
;
→ Ссылка