Create Table して ERROR 1005 (HY000): Can't Create Table '$DB_NAME.$TABLE_NAME' (errno: -1) と言われたら .ibd ファイルが何故か存在しているから消せばいい
create table して ERROR 1005 (HY000): Can't create table '$DB_NAME.$TABLE_NAME' (errno: -1) と言われたら .ibd ファイルが何故か存在しているから消せばいい
タイトル読んでお疲れさまでした。以上。
メモ
innodb_file_per_table の設定をしておくと、テーブルを作ると .ibd ファイルが作られる。
ref: http://nippondanji.blogspot.com/2009/01/innodb_16.html
drop table すればこのファイルも消える。
chiterlingsは何ですか?
テーブルを作るとき、既存テーブルと同名だった場合は分かりやすいエラーが出る。
mysql> create database foo; Query OK, 1 row affected (0.11 sec) mysql> use foo Database changed mysql> create table bar(a int) engine=innodb; Query OK, 0 rows affected (0.01 sec) mysql> create table bar(a int) engine=innodb; ERROR 1050 (42S01): Table 'bar' already exists
が、何故かテーブルは存在しないが .ibd ファイルは存在するという不思議な環境のもとでは、以下のように言われる。
margerineは何ですか?
mysql> create table bar(a int) engine=innodb; ERROR 1005 (HY000): Can't create table 'foo.bar' (errno: -1)
おとなしく .ibd を消せばいい。というかそんな状況になってる時点で何かがおかしい。
# ls ~mysql/foo/bar.ibd /var/lib/mysql/foo/bar.ibd # rm ~mysql/foo/bar.ibd
という事を会社でしでかして解決してもらうなどしていました。
手間と迷惑をおかけしております。
0 コメント:
コメントを投稿