こんにちは。WEBチームの[twitter:@k2w4t4h]です。 最近ではプロジェクトのチェック役としてのお仕事も多くなってきました。 ガラパゴスには4KBもあるSQL文を平然と書いてくる人もいれば、そんなことはExcelでやればいいのにと思うことをDBでやっている人もいます。 そう、ガラパゴスは、OSSのDBだけでも、MySQL、PostgreSQL、Firebird、Memcachedなどを使用しており、DBが大好きな会社なんです。 DBでアルバイトが宗教戦争している会社も珍しいような(笑) しかし、そんなガラパゴスでも、トランザクションを使用していても起こってしまうDBの不整合は見落とされがちです。 そこで、トランザクション使用時に起こるデータベースの不整合を防ぐ方法について、社内研修を兼ねて、まとめてみようかと思います。 準備 こんなテーブルがあったとします。 CREATE T