質問: **「2017-10-00」のような不正日付をdatetiime型カラムへ「LOAD DATA LOCAL INFILE」したら「0000-00-00 00:00:00」となりました** ・設定が有効な場合はエラーとなり挿入がされない、とは限らないのでしょうか? --- **環境** ・MySQL5.7 **sql_mode** ・STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO
回答: 13.2.6 LOAD DATA INFILE 構文 > > LOCAL が指定されている場合は、操作の最中にファイルの転送を停止する方法がサーバーにはないため、制限的な sql_mode 値が設定されていても、エラーではなく警告が発生します。 > > > とのことで、 > > * 日付と時間型の場合、このカラムはその型の適切な「0」の値に設定されます。セクション11.3「日付と時間型」を参照してください。 > > > に従って「0」の値が格納されたものと思われます。