Mysql 日期 默认插入 1970-01-01

Mysql Date Default insert in 1970-01-01

我正在插入一个空 date-field,但系统会自动插入一个默认值 1970-01-01。为什么?

我什至更改了 Date 结构以允许 null,将 Default 设置为 Null,但它仍然插入 1970-01-01.

您很可能插入了一个空字符串。插入条目字符串将导致写入 1970-01-01。如果您不希望发生这种情况,则必须真正插入 NULL。

您想做的是:

INSERT INTO table
SET datefield = NULL

不是"NULL"而是NULL否则它会把它读成一个字符串而不是NULL

您也可以完全不在插入中设置该列,这样它也会使用 NULL

这是MySQL的默认行为,在数据库中检查该字段可以为NULL。

检查这个:old post