テーブル作成でのインポート作業において、自分が躓いたエラーの解決法をまとめようと思う。
#テーブルがあるけどない?
インポートを行いテーブルを作成しようとしたところ、このようなエラーが返ってきた。
「mznというテーブルは存在するのでインポート前にテーブルを削除するように」とのこと。
プロンプト上で、「use mzn;」でデータベースmznへ移り、「show tables;」で作成したいテーブルusersを確認したところ空と返ってきた。念の為、「drop table users;」でテーブルを消そうと試したが、当然エラーが返ってくる。
以上のことから、DB上にはテーブルがあるがプロンプト側で見ると存在しないことが分かり、これによりインポートがうまくいかずデータが一部で破損していることが分かる。この破損したデータを削除し、再度create,insert,updateの順でインポートを試すことでテーブルがうまく作成される。
#解決法
infra/mysqlに「Mysql_files」というファイルがある。
これが破損したファイルデータでありこれを削除したのち、下のようにcreate,insert,updateの順でコマンドを実行または同様のことをツール上で行うことで、インポートがなされテーブルが作成される。
CREATE TABLE 'テーブル名'
INSERT INTO 'テーブル名'
UPDATE STAFF 'テーブル名'
破損箇所はケースによってさまざまなので、今回のような「Mysql_files」というファイルとは限らない可能性があるが、DB関連と考えるとinfra/mysql以下周辺のファイルであることが考えられる。