文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  修復與檢查 CSV 表格

18.4.1 修復與檢查 CSV 表格

CSV 儲存引擎支援 CHECK TABLEREPAIR TABLE 陳述式,以驗證並在可能的情況下修復損壞的 CSV 表格。

當執行 CHECK TABLE 陳述式時,會檢查 CSV 檔案的有效性,方法是尋找正確的欄位分隔符號、逸出的欄位(匹配或遺失的引號)、與表格定義相比的正確欄位數,以及是否存在對應的 CSV 元檔案。發現的第一個無效列會導致錯誤。檢查有效表格會產生如下所示的輸出

mysql> CHECK TABLE csvtest;
+--------------+-------+----------+----------+
| Table        | Op    | Msg_type | Msg_text |
+--------------+-------+----------+----------+
| test.csvtest | check | status   | OK       |
+--------------+-------+----------+----------+

檢查損壞的表格會傳回類似以下的錯誤

mysql> CHECK TABLE csvtest;
+--------------+-------+----------+----------+
| Table        | Op    | Msg_type | Msg_text |
+--------------+-------+----------+----------+
| test.csvtest | check | error    | Corrupt  |
+--------------+-------+----------+----------+

若要修復表格,請使用 REPAIR TABLE,它會從現有的 CSV 資料複製盡可能多的有效列,然後將現有的 CSV 檔案替換為復原的列。超出損壞資料的任何列都會遺失。

mysql> REPAIR TABLE csvtest;
+--------------+--------+----------+----------+
| Table        | Op     | Msg_type | Msg_text |
+--------------+--------+----------+----------+
| test.csvtest | repair | status   | OK       |
+--------------+--------+----------+----------+
警告

在修復期間,只有 CSV 檔案中直到第一個損壞列的列才會複製到新表格。從第一個損壞列到表格結尾的所有其他列都會被移除,即使是有效的列也是如此。