MySQL 表消失難題已解決
當SHOW TABLES 顯示資料操作(例如SELECT)無法存取的表時遇到不一致情況,根本原因往往難以捉摸。一個潛在的罪魁禍首是損壞的表文件,SHOW TABLES 可能無法偵測到該文件。
在一個特定實例中,使用者在更改 MySQL 資料目錄後遇到了此問題。儘管表格的檔案存在,但從中選擇資料會導致錯誤:
ERROR 1146 (42S02): Table 'database.TABLE_ONE' doesn't exist
這種矛盾的行為導致人們猜測 SHOW TABLES 僅驗證檔案存在性,而不驗證檔案完整性。不過,問題的根源最終還是被發現了:
為了解決此問題,使用者複製了這些檔案進入新的資料目錄,這成功地恢復了表的可存取性。這強調了在複製基於 InnoDB 的資料庫時包含這些檔案以確保其功能的重要性。
以上是為什麼我的 MySQL 表出現在 SHOW TABLES 中而不出現在 SELECT 查詢中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!