首頁 > 資料庫 > mysql教程 > 為什麼我的 MySQL 表出現在 SHOW TABLES 中而不出現在 SELECT 查詢中?

為什麼我的 MySQL 表出現在 SHOW TABLES 中而不出現在 SELECT 查詢中?

Mary-Kate Olsen
發布: 2024-12-07 05:49:12
原創
760 人瀏覽過

Why Does My MySQL Table Appear in SHOW TABLES But Not in SELECT Queries?

MySQL 表消失難題已解決

當SHOW TABLES 顯示資料操作(例如SELECT)無法存取的表時遇到不一致情況,根本原因往往難以捉摸。一個潛在的罪魁禍首是損壞的表文件,SHOW TABLES 可能無法偵測到該文件。

在一個特定實例中,使用者在更改 MySQL 資料目錄後遇到了此問題。儘管表格的檔案存在,但從中選擇資料會導致錯誤:

ERROR 1146 (42S02): Table 'database.TABLE_ONE' doesn't exist
登入後複製

這種矛盾的行為導致人們猜測 SHOW TABLES 僅驗證檔案存在性,而不驗證檔案完整性。不過,問題的根源最終還是被發現了:

  • 問題資料庫使用了 InnoDB 表,該表依賴 MySQL 資料目錄中儲存的 ibdata1 和 ib_logfile 檔案。
  • 這些行動資料庫時,新資料目錄中不存在檔案。

為了解決此問題,使用者複製了這些檔案進入新的資料目錄,這成功地恢復了表的可存取性。這強調了在複製基於 InnoDB 的資料庫時包含這些檔案以確保其功能的重要性。

以上是為什麼我的 MySQL 表出現在 SHOW TABLES 中而不出現在 SELECT 查詢中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板