Mysql 中触发器的创建可以使用Create Trigger命令来实现下面一个示例:

mysql> delimiter //
mysql> CREATE TRIGGER UserInfoTable_UPDATE BEFORE UPDATE ON UserInfoTable FOR EACH ROW
BEGIN
SELECT MD5(concat(new.U_ID,new.PASSWORD,new.IDNumber,CONCAT(new.PASSWORDRULEID,''),new.UserName)) into @jyw from dual;
set new.CheckBit = @jyw;
END;//
mysql> DELIMITER ;

以下是在SQL工具中执行的格式

DELIMITER $$
CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    TRIGGER `tachographs`.`UserInfoTable_UPDATE` BEFORE UPDATE
    ON `tachographs`.`<Table Name>`
    FOR EACH ROW BEGIN
SELECT MD5(CONCAT(new.U_ID,new.PASSWORD,new.IDNumber,CONCAT(new.PASSWORDRULEID,''),new.UserName)) INTO @jyw FROM DUAL;
SET new.CheckBit = @jyw;
    END$$

DELIMITER ;

简化命令如下 :

CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件
ON 表名 FOR EACH ROW
BEGIN
    执行语句列表
END

触发器的类型有以下几种:
BEFORE INSERT
BEFORE DELETE
BEFORE UPDATE
AFTER INSERT
AFTER DELETE
AFTER UPDATE

还有一个要点:NEW和OLD的使用
NEW.columnname:新数据
OLD.columnname:旧数据

删除触发器命令如下:
drop trigger  mytrigger; --删除触发器

查询触发器:
 

SHOW TRIGGERS FROM `databasename`;

或者使用:

SELECT * FROM information_schema.triggers WHERE trigger_schema = 'databasename'
 ORDER BY  event_object_table , action_timing , event_manipulation;

最后留一个小小的包袱,创建多个触发器时通过SHOW TRIGGERS是查询不到一项重要信息的。可以参考我的文章:https://lebang2020.cn/details/210224e0l02tx1.html

https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html