MySQL 5.7发布说明
的CSV
存储引擎支持检查表
和修理表
核实声明,并在可能的情况下修复损坏CSV
表格
运行时的检查表
声明中CSV
文件通过查找正确的字段分隔符、转义字段(匹配或缺少引号)、与表定义相比较的正确字段数量以及存在相应的字段来检查有效性CSV
图元文件。发现的第一个无效行报告一个错误。检查一个有效的表会产生如下所示的输出:
mysql> CHECK TABLE csvtest;+--------------+-------+----------+----------+ | 表| Op | Msg_type | Msg_text | +--------------+-------+----------+----------+ | 测试。csvtest | | |状态检查好 | +--------------+-------+----------+----------+
对已损坏的表进行检查将返回如下错误
mysql> CHECK TABLE csvtest;+--------------+-------+----------+----------+ | 表| Op | Msg_type | Msg_text | +--------------+-------+----------+----------+ | 测试。csvtest | | |错误检查腐败 | +--------------+-------+----------+----------+
要修理表,使用修理表
,从现有的文件中复制尽可能多的有效行CSV
数据尽可能多,然后替换现有的CSV
带有恢复行的文件。损坏数据以外的任何行都将丢失。
mysql> REPAIR TABLE csvtest;+--------------+--------+----------+----------+ | 表| Op | Msg_type | Msg_text | +--------------+--------+----------+----------+ | 测试。csvtest | | |状态修复好 | +--------------+--------+----------+----------+
警告
在修复期间,只有来自CSV
第一个损坏行之前的文件被复制到新表中。从第一个损坏的行到表末尾的所有其他行都将被删除,即使是有效行。