SOFTELメモ Developer's blog

【MySQL】トランザクション中に CREATE TABLE すると、そこでコミットされる

2012/11/17 MySQL

問題

MySQLのトランザクションですが、beginとcommitの間でcreate tableを実行すると、その時点でコミットがかかってしまうのですね。

答え

参考ページ http://dev.mysql.com/doc/refman/5.1/ja/innodb-implicit-commit.html

そうらしいですね。

実際にテーブルを作ったかどうかにかかわらず create table if not exists …… で、テーブルがすでに存在しているときでも同じです。

create temporary table なら問題ないようです。

関連するメモ

コメント