需要實現在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)