当前位置:Gxlcms > 数据库问题 > mysql之对触发器的操作

mysql之对触发器的操作

时间:2021-07-01 10:21:17 帮助过:3人阅读

TRIGGER trigger_name BEFORE | AFTER trigger_event ON table_name FOR EACH ROW trigger_stmt;

示例如下:

CREATE TRIGGER tri_diary BEFORE INSERT ON t_dept FOR EACH ROW INSERT INTO t_diary VALUES(NULL,t_dept,NOW());

当向部门表t_dept插入任意一条记录时,就会在插入操作之前向表t_diary中插入当前时间记录。

2.2 创建包含多条执行语句的触发器

CREATE TRIGGER trigger_name BEFORE | AFTER trigger_event ON table_name FOR EACH  ROW BEGIN trigger_stmt END;

示例如下:

DELIMITER $$
CREATE TRIGGER tri_diary BEFORE INSERT ON t_dept FOR EACH ROW BEGIN 
INSERT INTO t_diary VALUES(NULL,t_dept,NOW());
INSERT INTO t_diary VALUES(NULL,t_dept,NOW());
END
$$
DELIMITER;

上面示例中,首先通过"DELIMITER $$"语句设置结束符为"$$",然后再关键字BEGIN和END之间编写执行语句列表,最后通过"DELIMITER ;"语句将结束符号还原成默认结束符";"。

3. 查看触发器

3.1 通过SHOW TRIGGERS语句查看触发器

SHOW TRIGGERS会显示所有触发器的一个列表。

3.2 通过查看系统表triggers实现查看触发器。

4. 删除触发器

DROP TRIGGER trigger_name;

mysql之对触发器的操作

标签:

人气教程排行