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
Post a Comment