Создаем триггер для лога новых задач
Триггер автоматически записывает событие, когда в seo_tasks появляется новая строка.
DROP TRIGGER IF EXISTS trg_seo_tasks_insert_log;
CREATE TRIGGER trg_seo_tasks_insert_log
AFTER INSERT ON seo_tasks
BEGIN
INSERT INTO change_log (entity_name, entity_id, action_name, changed_at, details)
VALUES ('seo_tasks', NEW.task_id, 'insert', datetime('now'), NEW.task_text);
END;
DROP TRIGGER IF EXISTS trg_seo_tasks_insert_log; — Удаляет старый триггер, чтобы новая версия создалась без конфликта имен.пустая строка — Пустая строка отделяет один смысловой блок кода от другого, чтобы код легче читался.CREATE TRIGGER trg_seo_tasks_insert_log — Создает автоматическое действие, которое SQLite выполнит при событии в таблице.AFTER INSERT ON seo_tasks — Указывает событие триггера: сработать после вставки новой строки.BEGIN — Начинает транзакцию: изменения можно будет сохранить или отменить.INSERT INTO change_log (entity_name, entity_id, action_name, changed_at, details) — Начинает вставку новых строк в указанную таблицу и перечисляет колонки.VALUES ('seo_tasks', NEW.task_id, 'insert', datetime('now'), NEW.task_text); — Начинает список значений, которые будут вставлены в перечисленные колонки.END; — Завершает блок CASE и дает имя рассчитанной колонке.Появится триггер trg_seo_tasks_insert_log.
Проверьте, что вы работаете в файле seo_lab_from_zero.db, скопировали блок полностью и не потеряли точку с запятой в конце SQL-команды.