<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ### mysql之觸發器before和after的區別 我們先做個測試:接上篇日志建的商品表g和訂單表o和觸發器。 假設:假設商品表有商品1,數量是10;我們往訂單表插入一條記錄: ~~~ insert into o(gid,much) values(1,20); ~~~ 就會發現商品1的數量變為-10了。這就是問題的所在,因為我們之前創建的觸發器是after,也就是說觸發的語句是在插入訂單記錄之后才執行的,這樣我們就無法判斷新插入訂單的購買數量是否超過了實際的庫存總量了。 先講一下after和before的區別: after是先完成數據的增刪改,再觸發,觸發的語句晚于監視的增刪改操作,無法影響前面的增刪改動作;也就是說先插入訂單記錄,再更新商品的數量; before是先完成觸發邏輯之后,再增刪改,所觸發的語句先于所監視的增刪改,這樣我們就有機會判斷,修改即將發生的增刪改操作邏輯; 用一個典型案例來區分它們的區別,新建一個觸發器: ~~~ #監視地點: 商品表o #監視事件:insert #觸發時間:before #觸發事件:update ~~~ 案例:當新增一條訂單記錄時,判斷訂單的商品數量,如果數量大于10,就默認改為10 ~~~ create trigger tg6 before insert on o for each row begin   if new.much > 10 then     set new.much = 10;   end if;   update g set num = num - new.much where id = new.gid; end$ ~~~ 執行完,把之前創建的after觸發器刪掉,再來插入一條訂單記錄: ~~~ insert into o(gid,much) valus(1,20)$ ~~~ 執行完會發現訂單記錄的數量變為10,商品1的數量變為0了,就不會出現負數了。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看