相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  修复和检查 CSV 表

18.4.1 修复和检查 CSV 表

The 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 文件中到第一个损坏行之前的行复制到新表。从第一个损坏行到表尾的所有其他行,即使是有效行,也会被删除。