初识Mysql触发器
在 test 表更新前触发,根据 class_id 到 class 表中查询 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 '条件';

浙公网安备 33010602011771号