【发布时间】:2025-12-27 01:30:16
【问题描述】:
我正在插入一个空的date-field,但默认值1970-01-01 会自动插入。为什么?
我什至更改了Date 结构以允许null,将Default 设置为Null,仍然插入1970-01-01。
【问题讨论】:
-
您能告诉我们您要运行什么代码吗?从您的 cmets 来看,您的 PHP 部分有问题吗?
我正在插入一个空的date-field,但默认值1970-01-01 会自动插入。为什么?
我什至更改了Date 结构以允许null,将Default 设置为Null,仍然插入1970-01-01。
【问题讨论】:
这是MySQL的默认行为,在数据库中检查该字段可以为NULL。
检查这个:old post
【讨论】:
您很可能插入了一个空字符串。插入条目字符串将导致写入 1970-01-01。如果您不希望发生这种情况,您必须真正插入 NULL。
你想做的是:
INSERT INTO table
SET datefield = NULL
不是"NULL",而是NULL,否则它会将其读取为字符串而不是NULL
您也可以在插入时根本不设置该列,而它也将使用NULL
【讨论】: