初识Mysql触发器

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

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;
  • 如果触发的操作是修改本表数据时,修改需要用一下语句,否则会造成循环调用:
set new.class_name='A班';
  • 修改其他表数据时的语句:
update `表名` set NEW.列名 = '列值' where '条件';
posted @ 2021-08-11 16:09  kwun  阅读(27)  评论(0)    收藏  举报