#1146 表 ‘db.tablename’ 不存在
我將 AMPPS 用於本地主機伺服器目的。我正在本地主機上的一個客戶站點上工作。
前幾天我開始工作時,它突然開始給我這樣的錯誤
表格不存在即使我可以清楚地看到左側欄中的表格,如您在附圖中看到的那樣。
我嘗試了很多網上提到的方法。但我無法解決問題。我不知道那裡到底發生了什麼。
請幫幫我。任何幫助都可以。
謝謝, 馬赫什
我知道這個問題已經有一年了,但考慮到我沒有找到真正的答案,我想我會發布一個答案。在這個答案中,對於遠端伺服器命令,我假設您使用的是基於 Linux Debian 的作業系統。否則最後還有另一個選擇。
這聽起來像是 /var/lib/mysql/ 文件夾中的儲存引擎“ibdata1”文件中的問題。如果未正確複製表,則可能會發生這種情況。因此,即使表在那裡,儲存引擎也無法正確呈現數據庫。
解決此問題的最佳方法是在遠端伺服器上的健康數據庫上執行 mysqldump 並將表恢復回本地數據庫伺服器,反之亦然。因此,如果您在遠端伺服器上具有 root 或 sudo 訪問權限以及您的 mysql 密碼,則可以使用:
$ mysqldump -u root -p *database-name* > *sqlbackupname*.sql $ Enter mysql password: *your-mysql-password*
這會將您的數據庫轉儲到 .sql 備份中。然後要恢復本地主機上的數據庫,您可以在 linux 終端中執行它:
$ mysql -u root -p *database-you-want-to-restore-to* < *sqlbackupname*.sql
因此,您需要準備好一個數據庫來接收資訊,然後將 mysqldump 中的資訊恢復到該數據庫。mysqldump 將尋找要轉儲到的數據庫。
如果您沒有伺服器訪問權限並且僅使用 phpmyadmin,則最好將健康數據庫從遠端伺服器導出到 .sql 文件中。因此,轉到您的健康數據庫,然後點擊頂部的“導出”按鈕。這將為您提供一些選項並下載到您的電腦上。然後您可以將文件“導入”回本地安裝的 phpmyadmin。只要您使用的是 phpmyadmin,此選項應該適用於任何作業系統。
我希望這對正在尋找這個問題的答案的人有用。
phpmyadmin 已不同步。執行
SHOW CREATE TABLE db.tablename
是一種更權威的檢查表是否存在的方式。