往数据库字段类型为“varchar”的设置非空+设置过默认值的字段插入“NULL”时,提示“[Err] 1048 - Column 'xxx' cannot be null”
但是奇怪的是,如果字段是“timestamp”类型,设置非空+设置默认值为“CURRENT_TIMESTAMP”,插入“NULL”就不会报错,会插入系统当前时间。
后面我测试了一下,得知MySQL只要往列插入值时,会覆盖默认值,就算这个值是“NULL”。那为什么timestamp类型没有被插入的“NULL”覆盖掉呢?
往数据库字段类型为“varchar”的设置非空+设置过默认值的字段插入“NULL”时,提示“[Err] 1048 - Column 'xxx' cannot be null”
但是奇怪的是,如果字段是“timestamp”类型,设置非空+设置默认值为“CURRENT_TIMESTAMP”,插入“NULL”就不会报错,会插入系统当前时间。
后面我测试了一下,得知MySQL只要往列插入值时,会覆盖默认值,就算这个值是“NULL”。那为什么timestamp类型没有被插入的“NULL”覆盖掉呢?