相关文档 下载此手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  修复和检查 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 文件中到第一个损坏行为止的行才会被复制到新表。第一个损坏行到表尾的所有其他行都将被删除,即使是有效行。