# 【Mysql】CREATE TABLE はトランザクションが効かないで暗黙的にコミットされる
> Mysql でCREATE TABLE はトランザクションが効かないで暗黙的にコミットされる
- Canonical: https://c-a-p-engineer.github.io/mysql-create-table-transaction/
- Published: 2022-05-06T17:00:00.000Z
- Modified: 2022-05-06T17:00:00.000Z
- Categories: Database
- Tags: Database, MySQL

Mysqlでは `CREATE TABLE` はトランザクションが効かないで暗黙的にコミットされる。

一部のステートメントでは暗黙的にコミットされトランザクションが効かなくなるとのことです。
<a href="https://dev.mysql.com/doc/refman/8.0/ja/implicit-commit.html" target="_blank" rel="nofollow noopener">MySQL :: MySQL 8.0 リファレンスマニュアル :: 13.3.3 暗黙的なコミットを発生させるステートメント</a>

## CREATE TABLE はトランザクションが効かない
`InnoDB` では `CREATE TABLE` を使用すると1つのトランザクションとして処理され、その時点で `COMMIT` され `ROLLBACK` されません。
そのため、`CREATE TABLE` を実行するとトランザクションが終了されます。

## 例外
例外として一時テーブル作成 `CREATE TEMPORARY TABLE` 、テーブル削除 `DROP TEMPORARY TABLE` に対してコミットは発生しないとのことです。

## 参考
* <a href="https://dev.mysql.com/doc/refman/8.0/ja/implicit-commit.html" target="_blank" rel="nofollow noopener">MySQL :: MySQL 8.0 リファレンスマニュアル :: 13.3.3 暗黙的なコミットを発生させるステートメント</a>
