1 /* 2 * 添加数据之后报名人数加一 3 */ 4 DELIMITER $$ 5 CREATE TRIGGER trigger_insert_enrolment_party_info 6 AFTER INSERT ON `enrolment` 7 FOR EACH ROW 8 BEGIN 9 UPDATE party_info SET signin_num=signin_num+1 WHERE id=new.party_id;10 END$$11 12 /**13 * 删除数据之后报名人数减一14 */15 DELIMITER $$16 CREATE TRIGGER trigger_delete_enrolment_party_info17 AFTER DELETE ON `enrolment`18 FOR EACH ROW19 BEGIN20 UPDATE `party_info` SET signin_num = signin_num-1 WHERE id = old.party_id AND signin_num > 0;21 END$$22 23 /**24 * 修改报名状态:1、由待审核变成未通过(报名数量减一),2、未通过变成待审核(报名数量加一)25 */26 DELIMITER $$27 CREATE TRIGGER trigger_update_enrolment_party_info28 AFTER UPDATE ON `enrolment`29 FOR EACH ROW30 BEGIN31 IF old.status = 'unaudited' AND new.status = 'notpass'32 THEN SET @signin_num = signin_num-1;33 ELSEIF (old.status = 'notpass' AND new.status = 'unaudited') OR (old.status = 'quit' AND new.status = 'unaudited')34 THEN SET @signin_num = signin_num+1;35 END IF;36 UPDATE party_info SET signin_num = @signin_num WHERE id = new.party_id;37 END$$