# 触发器

URL: https://caijiao.org/sqlite/advanced/triggers
Source: docs/sqlite/advanced/triggers.md
Description: 本章节介绍 SQLite 中触发器的概念与使用方法，讲解如何定义自动执行的数据库操作以保证数据完整性和实现业务逻辑。

触发器是在特定数据库事件发生时自动执行的 SQL 代码块，用于维护数据完整性或实现复杂逻辑。

## 创建触发器

```sql
CREATE TRIGGER trigger_name
AFTER INSERT ON table_name
BEGIN
  -- 触发器执行的 SQL 语句
END;
````

## 触发时机

* BEFORE INSERT
* AFTER INSERT
* BEFORE UPDATE
* AFTER UPDATE
* BEFORE DELETE
* AFTER DELETE

## 示例

创建一个触发器，在插入新用户时自动记录时间：

```sql
CREATE TRIGGER set_created_at
BEFORE INSERT ON users
BEGIN
  UPDATE users SET created_at = CURRENT_TIMESTAMP WHERE rowid = NEW.rowid;
END;
```

触发器自动执行，简化数据库操作并确保业务规则执行。
