次のクエリを使用して、MySQL のテーブルにデータを挿入しています。
LOAD DATA INFILE 'file.csv' INTO TABLE CSVImport FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
ただし、特定のフィールドの長さが列の長さよりも大きい場合、期待どおりに失敗します。長さをトリミングして列の長さに設定する方法はありますか。sql_mode を変更できることはわかっています。しかし、それを行うと、他の検証にも影響します。また、mysql サーバー全体にも適用されます。
1) sql_mode を特定のテーブルにのみ適用する方法はありますか?
2) sql_mode を変更せずにこれを達成する方法はありますか?