初识Mysql触发器

TRIGGER `update_class_name` 
BEFORE UPDATE ON `test` FOR EACH ROW BEGIN
DECLARE class_name VARCHAR(20) DEFAULT ‘‘;
set class_name = (SELECT class from `class` where id=new.class_id);
set new.class_name=class_name;
END;

test 表更新前触发,根据 class_idclass 表中查询 class 字段,更新到 test 表中的 class_name

  • 如果触发的操作是修改本表数据时,修改需要用一下语句,否则会造成循环调用:
set new.class_name=‘A班‘;
  • 修改其他表数据时的语句:
update `表名` set NEW.列名 = ‘列值‘ where ‘条件‘;

初识Mysql触发器

上一篇:MySQL 8.0 for docker安装


下一篇:sql 优化