仕事でMySQLを使った。ここ数週間ほど。
使って知ったんだが、何も意識せずにテーブル作っちゃうと、そのテーブルではトランザクション処理ができないんだね。
ロールバックできなくて、一瞬焦ったよあせる

http://www.thinkit.co.jp/free/article/0608/1/2/


テーブルのストレージエンジン指定でMyISAMを選ぶ(=デフォ)と、トランザクション処理ができない。
こういったことは、そのプロダクトを一度でもかじっていれば常識として知ってることなんだろうけど。

で、トランザクション処理を行う場合は、ストレージエンジンをInnoDBにすればよいようだ。
他にも、MyISAMではテーブルロック、InnoDBは行ロック、という違いも。

分かってしまえば、用途別にストレージエンジンを選べる、というのはいいなと思った。

自分が使ったMySQLは4.1系。古い。
最新のMySQL(6.0系)では、選択肢も多いのだろう。


MySQL 徹底入門 第2版

著:遠藤 俊裕 , 他
参考価格:¥3,654
価格:¥3,654
OFF : ()
MySQL 辞典 (Desktop reference) (DESKTOP REFERENCE)

著:坂井 恵 , 他
参考価格:¥2,604
価格:¥2,604
OFF : ()