mysql触发器不起作用 navicat的bug?
如果想插入數據,先設置主鍵,再依次設置其他屬性值的時候,在你輸入完主鍵,navicat執行insert操作
當你輸入其他的時候,語句就變成了update,當然這期間沒有點保存。所以寫的觸發器就一直失效。這是一個插入后生效的觸發器。(因為一直在執行update操作)
如果你不設置主鍵,再依次設置其他屬性值的時候,就會是insert操作,如下圖。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
再說說同一個條件寫觸發器,觸發多個操作:
觸發器內容:
#type =2 全場競猜 對應 flow 表中的type = 2 消費 category = 51 競猜支出
Begin
#獲取字典表的下注標識A or B
SET @a_describe ?=(select a_describe from g_guess_describe where dict_id = new.dict_id);
if?
new.category = 2 then
#插入流水
insert into c_u_f_order_flow(flow_id, cuuid,type,category, order_id, coins, create_time) ?values(null,new.cuuid,2,51,new.order_id,new.price,NOW());
#更新參與人數
?UPDATE g_guess_info SET join_count = join_count +1 WHERE guess_id = new.guess_id;
?
#更新獎金池數量
? ? if new.winning_team = @a_describe ?then
? ? UPDATE g_guess_info SET a_bonus_pool =a_bonus_pool +new.price WHERE guess_id = new.guess_id;
? ? ?else?
? ? ?UPDATE g_guess_info SET b_bonus_pool =b_bonus_pool +new.price WHERE guess_id = new.guess_id;
? ?end if;
end if;?
end
總結
以上是生活随笔為你收集整理的mysql触发器不起作用 navicat的bug?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美学心得(第二百三十六集) 罗国正
- 下一篇: OkHttp 上手