需要实现在passenger中添加乘客信息后,在classes(班次)中对应舱位的已售出票数+1
例:在passenger中添加了一个degree=“头等舱”的乘客,就在classes中对应头等舱已售出票数goodnumber+1 (经济舱类似,对应secondnumber+1
实现方法:
在passenger表中增加触发器,在新增passenger数据后,判断其对应的舱位信息degree,然后更新classes表中数据,完成更新
创建触发器的语句
1 CREATE DEFINER = `root`@`localhost` TRIGGER `after_passenger_insert` AFTER INSERT ON `passenger` FOR EACH ROW BEGIN 2 UPDATE classes SET goodnumber=goodnumber+1 where classnumber=new.classnumber AND new.degree="头等舱"; 3 END;
在sql语句中,where后面所使用的条件均为classes中的数据,不带new的属于classes中的数据,带有new的属性为在passenger中新加入数据所带有的属性值(只有passenger表中才有degree)