上午批量處理關鍵詞(有數據庫讀寫操作)時意外斷電,來電后繼續執行程序卻出現錯誤:Table xxx is marked as crashed and should be repaired,大意是表xxx被標記為錯誤,需要修復。因為不曾遇到過,只好百度一下,結果卻有多種方法來處理這個問題:
Navicat for mysql下修復Table is marked as crashed and should be repaired的方法
1、右擊該表,選擇維護——修復表——快速,即可。
2、當然,你還可以選擇查詢視圖,輸入:repair table gk_category quick;并執行
這種方法需要安裝Navicat for mysql,如果只是為了修復沒必要安裝,繼續往下看,同樣可以解決這個問題。
cmd下修復Table is marked as crashed and should be repaired的方法
1、開始,運行(win+r),輸入cmd,確認
2、進入該表所在目錄。就是你的mysql所在目錄下的data文件夾中找到表名即可。
3、執行myisamchk -r xxx(表名)即可
這種方法需要一定的dos命令,如果你不會也沒有關系,你可以這樣做:
1、打開記事本(運行:notepad)
2、粘貼內容:myisamchk -r xxx,注意把xxx修改成你要修復的表名。
3、另存為“修復.bat”,保存到該數據庫所在目錄。如我的是這樣:
4、雙擊執行即可。
除此之外,還有一種方法,同樣是在cmd下操作,但無需dos命令。
1、進入mysql命令臺:mysql -uroot -p 輸入密碼
2、進入需要操作的數據庫:use auto;
3、檢查表:check table gk_category;
4、修復表:repair table gk_category;
修復完成后可以在檢查一下。
另外,出現的錯誤可能不只是“Table xxx is marked as crashed and should be repaired”,我同時操作的表有兩個,其中一個提示這個錯誤,另外一個提示錯誤記不太清了,也忘了截圖,大致是說“xx(主鍵)不能重復”,事實上該的id字段是主鍵,自增,并查詢了提示數值并不存在,但就是寫不進去。修復一下同樣解決。
© 致遠 2020-11-20,原創內容,轉載請注明出錯:意外斷電導致mysql表出錯:Table xxx is marked as crashed and should be repaired