<noscript id="eassg"><table id="eassg"></table></noscript>
  • <strike id="eassg"><s id="eassg"></s></strike>
  • <ul id="eassg"></ul>
    注冊|登錄

    聯(lián)系電話:024-31891684  13390130939
    沈陽軟件公司--沈陽軟件定制

    沈陽軟件開發(fā)_沈陽軟件公司_沈陽軟件定制/軟件/最新技術(shù)

    Latest technology最新技術(shù)

    MySQL觸發(fā)器學(xué)習(xí)總結(jié)

    瀏覽量:2586

    #創(chuàng)建觸發(fā)器,當往order表中添加記錄是,更新goods表

    delimiter $

    CREATETRIGGERtrigger1

    AFTER INSERTON`order`

    FOREACH ROW

    BEGIN

    UPDATEgoods SETnum=num-new.much WHEREid=new.gid;

    END$

     

    執(zhí)行

    INSERTINTO`order` (gid,much) VALUES(1,5)

    SELECT*FROMgoods WHEREid=1

    發(fā)現(xiàn)電視機的數(shù)量剩下30

     

    當執(zhí)行

    INSERTINTO`order` (gid,much) VALUES(2,100)

    發(fā)現(xiàn)

    冰箱的數(shù)量剩下-77

     

    這是一個很明顯的漏洞,如何補救呢?

    由于update事件是在insert之后發(fā)生的,所以我們無法事先對用戶的下單數(shù)量(即order表

    中的much字段)進行過濾

    解決辦法:

    在創(chuàng)建觸發(fā)器的時候,將after關(guān)鍵字改成before,并對用戶的下單數(shù)量進行判斷

     

     

    首先,得刪除先去的觸發(fā)器

    droptriggertrigger1;

     

    #創(chuàng)建觸發(fā)器

    #觸發(fā)時間:before

    delimiter $

    CREATETRIGGERtrigger1

    BEFORE INSERTON`order`

    FOREACH ROW

    BEGIN

    IFnew.much >5THEN

    SETnew.much=5

    ENDIF;

    UPDATEgoods SETnum=num-new.much WHEREid=new.gid;

    END$
    這樣,當執(zhí)行INSERT INTO `order` (gid,much) VALUES(2,100)的時候,寫入order表的下單數(shù)量其實只有5,同樣,goods表中的庫存數(shù)量只有減少5,因為在insert操作之前先觸發(fā)了
    update操作,借此可以對下單數(shù)量做個判斷

    沈陽團購網(wǎng)|營口網(wǎng)站制作|沈陽軟件公司|軟件定制|網(wǎng)站建設(shè)|加盟易勢|提交問題

    国产国产成人久久精品| 久久91亚洲精品中文字幕| 亚洲理论精品午夜电影| 日韩精品中文字幕视频一区| 91精品国产高清| 网友偷拍日韩精品| 国产精品自在在线午夜蜜芽tv在线| 国产精品H片在线播放| 中文字幕精品三区无码亚洲 | 亚洲AV成人无码久久精品老人| 国产精品亚洲小说专区| 日韩精品少妇无码受不了| 日韩高清在线不卡| 午夜精品久久久久久影视riav| 久久精品国产精品亚洲人人| 精品国产一区二区三区久久影院| 久久精品国产精品亚洲色婷婷| 日韩视频一区二区在线观看| 亚洲国产精品午夜电影| 中文字幕精品视频在线观| 国产精品三级av及在线观看| 中文字幕亚洲精品| 中日精品无码一本二本三本| 国产精品αv在线观看| 91久久精品视频| 久久国产精品久久精品国产| 日韩一区二区视频| 一区国产传媒国产精品| 久久久久久国产精品三级| 亚洲精品无码专区久久同性男| 国产精品国产AV片国产| 亚洲精品影院久久久久久| 国产免费阿v精品视频网址 | 久久精品这里热有精品| 国产成人精品久久综合| 国产精品毛多多水多| 亚洲日韩国产精品乱-久| 一本久久a久久精品综合夜夜| 国产精品无码DVD在线观看| 国产成人精品午夜二三区| 国产69精品麻豆久久久久|