史上最も簡単なMySQLチュートリアル(四十一)「トリガ」


ケース:オンラインショッピングは、生産注文のタイプに応じて、商品の在庫量を増減します.この事件例は2枚の表に関し、それぞれ注文表と商品表であり、注文時、商品表の在庫が減少する.返品すると、商品表の在庫が増加します.どのように実現しますか?
フリップフロップ
トリガ:triggerとは、事前にあるテーブルにコードをバインドし、テーブルの一部の内容が変更(追加、削除、変更)されると、システムが自動的にコードをトリガして実行することを意味します.
トリガは3つの要素を含み、それぞれ
  • イベントタイプ:削除、すなわちinsertdelete、およびupdate.
  • トリガ時間:イベントタイプの前後、すなわちbeforeおよびafter.
  • トリガオブジェクト:テーブル内の各レコード(行)、すなわち .

  • 各テーブルには、トリガ時間の1つのイベントタイプのトリガしかありません.すなわち、各テーブルには最大6つのトリガがあります.
    トリガーの作成
    --          
    delimiter       --          ,                     
    create trigger +       +       +      on    for each row
    begin --          
    --        ,       
    end --          
          --       
    delimiter ; --        
    

    上記のケースのニーズに応じて、まず、商品表goodsと注文表ordersの2つの表を作成します.SQL文は次のとおりです.
    --      
    create table goods(
    	id int primary key auto_increment,