どうもMySQLであんまりお金とか扱いたくないんだよねー。 使い勝手の良さは群を抜いてるんだけどね。 さすがにこれはないよな まさかと思うけど、MyISAMはトランザクションはサポートしてないよ。 ってか、MySQLの5.1までデフォルトになってるけど、フルテキストインデックスとか、割と限られたところでしか使わない気がする。 まあそもそも、純正でトランザクションをサポートするエンジンがなかったからしかたないのだが。 InnoDBがまずい点 AさんとBさんが、在庫1つの特売の牛乳をめぐって取り合いをしたとする。 このとき、このようなトランザクションが走ったとする。 先頭の数字は実際にクエリが走った順番。 Aさん 1. begin; 3. select 在庫数 from リスト where 品物 = 特売の牛乳; (1が返ります) 5. update リスト set 在庫数 = 在庫数 - 1