【发布时间】:2012-09-18 18:07:29
【问题描述】:
在 MySQL 数据库上使用默认日期 '0000-00-00 00:00:00' 或 NULL 是更好的做法吗?
出于计算的原因,我已阅读最好使用默认日期“0000-00-00 00:00:00”
即 >than 一个日期小于一个日期。
如果时间未知,最好按时存储00:00 或NULL。
【问题讨论】:
-
使用
NULL。0000-00-00 00:00:00不是有效的日期(顺便说一句,MySQL 的 JDBC 驱动程序将拒绝加载该日期)。对于您必须使用NULL的时间,因为 00:00 是实时时间(午夜)。所以你无法区分午夜和“没有时间”。 -
我通常使用 null 来表示“未知”。只要你知道你分配了什么值,如果你的应用正确处理它,你就可以使用它
-
如果你期望一个值,你的默认值不应该是
NULL。 -
MySQL 允许您将“0000-00-00”的“零”值存储为“虚拟日期”。在某些情况下,这比使用 NULL 值更方便,并且使用更少的数据和索引空间。要禁止“0000-00-00”,请启用 NO_ZERO_DATE SQL 模式。
标签: mysql