1146: Table doesn't exist(テーブルが存在しない)
MySQL意味
クエリで参照されたテーブルが存在しないか、現在のデータベース内に見つからない。
原因
テーブルが実際に存在しない、誤ったデータベースが選択されている、テーブル名の誤字、Linux でのテーブル名の大文字小文字の区別 (lower_case_table_names)、または InnoDB テーブルファイル (.ibd) の欠落/破損 (5.7 以前では .frm 定義ファイルも。8.0 では定義はデータディクショナリに格納される)。
対処方法
テーブルを確認する: SHOW TABLES; 正しいデータベースを選択する: USE mydb。大文字小文字の区別に注意する (特に Linux)。SELECT ... FROM information_schema.tables でテーブル名とスキーマを確認する。InnoDB ファイルに問題がある場合はリストア/修復が必要になることがある。
同じデータベースの他の項目
- 1205Lock wait timeout exceeded; try restarting transaction(ロック待機タイムアウトを超過)
- 1040Too many connections(接続数が多すぎる)
- 1064You have an error in your SQL syntax(SQL 構文エラー)
- 1054Unknown column in field list(フィールドリストに不明な列)
- 2002Can't connect to local MySQL server through socket(ソケット経由でローカル MySQL サーバーに接続できない)
- 2003Can't connect to MySQL server (TCP/IP)(MySQL サーバーに接続できない)
- 2006MySQL server has gone away(MySQL サーバーとの接続が失われた)