MySQL 8.0 リファレンスマニュアル


16.4.1 CSV テーブルの修復と確認

CSV ストレージエンジンは、破損した CSV テーブルを検証し、可能な場合は修復するための CHECK TABLE および REPAIR TABLE ステートメントをサポートしています。

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 ファイルの行のみが新しいテーブルにコピーされます。 破損した最初の行からテーブルの最後までのほかのすべての行は、有効な行であっても削除されます。


関連キーワード:  テーブル, ストレージ, エンジン, FEDERATED, TABLE, 破損, 修復, csvtest, Msg, CHECK