MySQL 8.4 Release Notes
18.4.1 修复和检查 CSV 表
CSV 存储引擎支持CHECK TABLE
和REPAIR 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数据,并将其替换为恢复的行。损坏数据后的所有行将被删除,包括有效行。
mysql> REPAIR TABLE csvtest;
+--------------+--------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+--------------+--------+----------+----------+
| test.csvtest | repair | status | OK |
+--------------+--------+----------+----------+