【问题标题】:mysql company update date value is blankmysql公司更新日期值为空
【发布时间】:2015-12-05 03:24:27
【问题描述】:

我有一个表 company_update 并有以下字段:

ID                                     auto_increment
company_status               varchar(20)
company_update_date     日期

对于company_update_date字段,如果值为空,我应该使用NULL还是'0000-00-00'?哪个更好?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    NULL 表示“数据不存在或未知”。 Date('0000-00-00') 基本上意味着,“这发生在时间开始之前。”这取决于你,但我可能会选择 NULL

    【讨论】:

    • 是的,我同意@Darwin。首选使用 NULL ,因为使用 is null 过滤日期上的数据很容易,否则,您必须使用 0000-00-00 进行比较。另外,我认为内存方面也首选 NULL ,而不是 0000-00-00 日期。
    【解决方案2】:

    NULLbetter,因为我们可以轻松地将空值与其他值进行比较

    但如果 column 已使用 NOT NULL 或默认值定义 '0000-00-00'。您需要将列定义更改为allow NULLs,并且没有默认值。

    【讨论】:

      【解决方案3】:

      Null 最好作为起点。示例:您创建了公司,但它仍然不活跃(现在您设置为 Null)您决定将在一个月后活跃,您将插入日期。因此,您可以检查 Active、Pending 和 until not active。正如其他同事所说,取决于要求。

      【讨论】:

        猜你喜欢
        • 2016-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-21
        • 2023-03-24
        • 2019-02-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多