背景
- XAMPPで立ち上げたMySQL環境で、一度データベースをリセットした後、マイグレーションファイルでテーブルを作成しようとするとタイトルのエラーが発生する。
- phpMyAdmin上で確認しても、
hogetable
は存在していない。
原因
- テーブルスペースファイルの残骸が残っている。
- XAMPP環境の場合、
C:\xammp\mysql\data\xxx
にhogetable.ibd
があった。- 削除後に再度試すと正常に実行できた。
- XAMPP環境の場合、
余談
表領域(table space)とは、データベース管理システム(DBMS)がデータを保管するために記憶装置(ストレージ)上に確保した領域のこと。
- テーブルスペースという概念を意識していなかったので、「テーブルは存在しないのになぜエラーになるんだ…」と解決に時間がかかってしまった。