MySQL的触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:
1.监视地点(table)
2.监视事件(insert/update/delete)
3.触发时间(after/before)
4.触发事件(insert/update/delete)
语法:
create trigger [triggerName]
after/before insert/update/delete on [tablename]
for each row #这句话在mysql是固定的
begin
[sql sentences];
end;
假设有两张表`class`,`student`;这两张表中存的都是学生的id和班机的id;如果向student表中插入数据同时数据也更新到class表中;下面分别是表的创建语句和触发器;
CREATE TABLE `class` (
`classID` int(11) DEFAULT NULL,
`stuID` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `student` (
`stuID` int(11) DEFAULT NULL,
`classID` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TRIGGER `tri_stuInsert` AFTER INSERT ON `student` FOR EACH ROW
begin
declare s int;
declare c int;
set s = (select stuID from student where stuID =new.stuID );
set c = (select classID from student where stuID =new.stuID );
insert into class (stuID,classID) values(s,c);
end;

浙公网安备 33010602011771号