Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
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
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.