在MySQL表中添加触发器,您需要使用CREATE TRIGGER
语句
- 打开MySQL客户端并选择您的数据库。
- 使用以下语法创建触发器:
DELIMITER // CREATE TRIGGER trigger_name BEFORE/AFTER INSERT/UPDATE/DELETE ON table_name FOR EACH ROW BEGIN -- 触发器逻辑 END; // DELIMITER ;
trigger_name
:触发器的名称,用于标识触发器。BEFORE/AFTER
:指定触发器是在操作之前还是之后执行。INSERT/UPDATE/DELETE
:指定触发器关联的操作类型。table_name
:指定触发器关联的表。FOR EACH ROW
:表示触发器将对每一行进行操作。BEGIN...END
:包含触发器逻辑的代码块。
- 例子:
假设我们有一个名为students
的表,结构如下:
CREATE TABLE students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT NOT NULL, updated_at TIMESTAMP );
现在,我们想在每次更新学生信息时自动更新updated_at
字段。可以创建以下触发器:
DELIMITER // CREATE TRIGGER update_student_timestamp BEFORE UPDATE ON students FOR EACH ROW BEGIN SET NEW.updated_at = NOW(); END; // DELIMITER ;
这个触发器会在每次更新students
表的记录之前自动执行,将updated_at
字段设置为当前时间戳。