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_id
到class
表中查询class
字段,更新到test
表中的class_name
- 如果触发的操作是修改本表数据时,修改需要用一下语句,否则会造成循环调用:
set new.class_name=‘A班‘;
- 修改其他表数据时的语句:
update `表名` set NEW.列名 = ‘列值‘ where ‘条件‘;