sql - MYSQL Trigger only updates after ran twice at least -


my problem is, have trigger works. have 2 tables:

  • node
  • tableb

the query inside trigger works, think messed trigger, , dont know did wrong (never used mysql before guessing game me)

whenever drop tableb , node table, , insert node, new value wont counted tableb, if insert node once more. works fine. mysql trigger follows:

delimiter //   create trigger insert_users_forum    after insert on node   each row begin  update tableb set forum_count =  (select count(*) node n, forum_index fi      n.nid = fi.nid   , fi.tid = 18      , n.uid = new.uid      group n.uid) uid = new.uid; end// 

any helps appreciated, in advance

by setting unique key on uid in tableb, , using insert ... on duplicate key update, can ensure row exists in tableb hold forum count.

delimiter //  create trigger insert_users_forum  after insert on node each row begin     insert `tableb`     (`forum_count`)     values     ((select count(*) `node` n, `forum_index` fi          n.nid = fi.nid   , fi.tid = 18          , n.uid = new.uid          group n.uid))     on duplicate key update `forum_count` =  (select count(*) `node` n, `forum_index` fi          n.nid = fi.nid   , fi.tid = 18          , n.uid = new.uid          group n.uid)     `uid` = new.`uid`; end//  delimiter ; 

Comments

Popular posts from this blog

inversion of control - Autofac named registration constructor injection -

verilog - Systemverilog dynamic casting issues -

ios - Change Storyboard View using Seague -