Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
EPUB - 7.5Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


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

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

CHECK ステートメントを実行すると、正しいフィールドセパレータ、エスケープされたフィールド (引用符の対応または不足)、正しいフィールド数 (テーブル定義と比較)、および対応する CSV メタファイルの存在を探すことで、CSV ファイルの有効性がチェックされます。検出された最初の不正な行はエラーを報告します。有効なテーブルをチェックすると、次のような出力が生成されます。

mysql> check table csvtest;
+--------------+-------+----------+----------+
| Table        | Op    | Msg_type | Msg_text |
+--------------+-------+----------+----------+
| test.csvtest | check | status   | OK       |
+--------------+-------+----------+----------+
1 row in set (0.00 sec)

壊れたデータをチェックすると、障害が返ります。

mysql> check table csvtest;
+--------------+-------+----------+----------+
| Table        | Op    | Msg_type | Msg_text |
+--------------+-------+----------+----------+
| test.csvtest | check | error    | Corrupt  |
+--------------+-------+----------+----------+
1 row in set (0.01 sec)

チェックが失敗した場合、テーブルはクラッシュ (破損) とマークされます。テーブルが破損とマークされると、次に CHECK を実行したときや SELECT ステートメントを実行したときに自動的に修復されます。対応する破損ステータスや新しいステータスは、CHECKを実行したときに表示されます。

mysql> check table csvtest;
+--------------+-------+----------+----------------------------+
| Table        | Op    | Msg_type | Msg_text                   |
+--------------+-------+----------+----------------------------+
| test.csvtest | check | warning  | Table is marked as crashed |
| test.csvtest | check | status   | OK                         |
+--------------+-------+----------+----------------------------+
2 rows in set (0.08 sec)

テーブルを修正するために REPAIR を使用できます。これは既存の CSV データからできるだけ多くの有効な行をコピーしてから、既存の CSV ファイルをリカバリされた行で置き換えます。破損したデータ以降のすべての行は失われます。

mysql> repair table csvtest;
+--------------+--------+----------+----------+
| Table        | Op     | Msg_type | Msg_text |
+--------------+--------+----------+----------+
| test.csvtest | repair | status   | OK       |
+--------------+--------+----------+----------+
1 row in set (0.02 sec)
警告

修復時、破損した最初の行までの CSV ファイルの行だけが新しいテーブルにコピーされます。破損した最初の行からテーブルの最後までのほかのすべての行は、有効な行であっても削除されます。


User Comments
Sign Up Login You must be logged in to post a comment.