38504


**「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


CC BY-SA 3.0
2017-10-07T03:57:25.517
38503
2017-10-07T04:17:52.753
7886
question
mysql
「STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO」でも「0000-00-00」が挿入されることはあり得る？


[13.2.6 LOAD DATA INFILE 構文](https://dev.mysql.com/doc/refman/5.6/ja/load-
data.html)

> LOCAL が指定されている場合は、操作の最中にファイルの転送を停止する方法がサーバーにはないため、制限的な sql_mode
> 値が設定されていても、エラーではなく警告が発生します。

とのことで、

>   * 日付と時間型の場合、このカラムはその型の適切な「0」の値に設定されます。セクション11.3「日付と時間型」を参照してください。
>

に従って「0」の値が格納されたものと思われます。


CC BY-SA 3.0
2017-10-07T04:17:52.753
38504
2017-10-07T04:17:52.753
4236
38503
answer