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