1.为要创建的触发器创建表
2.创建触发器
create trigger before_one_update before update on one for each row begin insert into trigger_one set action='update',name=OLD.name,num=OLD.num,changedate=NOW();end;\g
在MySQL5.7.2+版本之前,您只能为表中的事件创建一个触发器,例如,只能为BEFORE UPDATE
或AFTER UPDATE
事件创建一个触发器。 MySQL 5.7.2+版本解决了这样限制,并允许您为表中的相同事件和动作时间创建多个触发器。当事件发生时,触发器将依次激活。
果表中有相同事件有多个触发器,MySQL将按照创建的顺序调用触发器。
要更改触发器的顺序,需要在FOR EACH ROW
子句之后指定FOLLOWS
或PRECEDES
。如下说明 -
FOLLOWS
选项允许新触发器在现有触发器之后激活。PRECEDES
选项允许新触发器在现有触发器之前激活————————————————————————————————————————————————————
触发器管理:包括在MySQL数据库中显示,修改和删除触发器
https://www.yiibai.com/mysql/managing-trigger-in-mysql.html
要修改触发器,必须首先删除它并使用新的代码重新创建。在MySQL中没有类似:ALTER TRIGGER
语句,因此,您不能像修改其他数据库对象,如表,视图和存储过程那样修改触发器。
查询某一特定表的触发器:此方法适用于触发器命名中包含表名
show triggers like '表名';
或者:
要获取与特定表相关联的所有触发器,可以使用SHOW TRIGGERS
语句中的WHERE
子句。 以下语句返回与employees
表相关联的所有触发器:
SHOW TRIGGERS FROM yiibaidb
WHERE `table` = 'employees';
SQL
请注意,我们使用反引号包装table
列,因为table
是MySQL中的保留关键字。