cpimportでデータをロードする際にデータ型に納まらないデータが存在する場合、デフォルトではエラーになりません。そのデータもトランケートされた状態で挿入されます。

しかし、cpimport時に-Sオプションを付与すると、正常にロードできないデータの挿入を防ぐことができます。


-Sオプションを付与しない場合

今回はVARCHAR(9)のcol2列に以下のデータを挿入します。

ロードするcsvファイル

1|テスト
2|アシスト
3|てすと

※2行目の「アシスト」は4文字なので、正しく挿入するにはVARCHAR(12)以上のデータ長が必要になります。


上記csvファイルをcpimportでロードすると、3行すべてロードされます。


テーブルを確認すると2行目の4文字目(アシストの「ト」)がトランケートされた状態でロードされています。



-Sオプションを付与した場合

cpimportを実行すると3行中2行だけがロードされたことが確認できます。


※ロードされなかった原因については Row numbers with error reasons are…のファイルで確認できます。




テーブルを確認するとcsvファイルの2行目のデータが除外された状態でロードされています。