White scenery @showyou, hatena

If you have any comments, you may also send twitter @shsub or @showyou.

mysql で うがー

もし(now=A かつ next=B)な行があったら
その行のcount+1
なければ
新しく行を作る

っていう文があって、今はselectしてあるかどうか見て、あるならupdate,ないならinsertしてる。

これを結構な数行っていて時間がかかっている。mysqlのreplace intoを使えば速くなるっていう話を聞いたので、ちょっと試してみたんだけどなかなかうまくいかない

replace into markov (id,now,next,count) select `id`,`now`,`next`,`count`+1 from markov where `now`='A' and `next`='B' ;

だと、まだデータがない時に追加されない。

replace into markov (now,next,count) values('A','B',count+1);

だと、どんどん後ろに追加されていく。