删除周围的引号
NULL。实际上发生的是它试图将字符串
'NULL'作为数字插入,并且由于不能将其转换为数字,因此使用默认值
0。
至于为什么ActivatedDT起作用,我猜这是一个日期字段。未能将字符串转换为日期通常会导致将值设置为
0(将其格式化为类似“
1969-12-31”的格式),但是如果
NO_ZERO_DATE启用了模式,则将其设置为
NULL。
如果您希望MySQL在这种情况下引发错误,则在传递无效值时,可以设置
STRICT_ALL_TABLES或
STRICT_TRANS_TABLES(确保您已阅读有关它们之间差异的部分)或一种仿真模式,例如
TRADITIONAL。
你可以用命令试试这个
SET sql_mode='TRADITIONAL',或者通过增加
sql-mode="TRADITIONAL"在
my.cnf。



