将日期字段留空时,在MySQL数据库中将日期设置为NULL

时间:2011-09-07 15:45:00

标签: php mysql date null

嗨有一个HTML 5日期字段用于发布日期,但并非所有项目都有发布日期,所以我希望能够将其设置为null并完全隐藏已发布的那些项目。当我离开日期字段时,没有任何反应。上一个日期(2011-01-01)仍然存在(我以为他们有一个发布日期,但我不知道它是什么,所以我只选择了一个表格,之前不允许null)。我已将其更改为现在允许null并且我已设法在phpMyAdmin中将其设为null,但不是通过使用我自己的表单和php。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

主要有两种方式。

第一个是,当它完全没有时,不要插入/更新日期。您可以在日期值上构建循环的预准备语句。

第二种方法是将日期值封装到一个函数中,该函数检查它是否为空。诀窍是你通常用(双)引号括起日期,但如果要插入null(而不是字符串“null”)则不能这样做

我个人使用我编写的pre-pdo类来在将任何sql发送到数据库之前准备sql和数据。

pdo或mysqli中可能已经准确地集成了tings,但我不知道它们。

你的问题:“null日期值的结果是什么?”我邀请您阅读that old answer

答案 1 :(得分:0)

保留日期字段 NULL

INSERT INTO table SET dt=NULL