DateTime Null和mySql

时间:2013-02-02 02:52:48

标签: php datetime

我经常遇到这种情况,必须有更好的方法来做到这一点。所以我有一个Order Class和一个Order_db类。在order类中有一个属性$ orderDate,它是一个DateTime对象。

问题是有时$ orderDate为null。所以我似乎有选择:

  1. 当我执行select查询时,我会在调用setter之前测试是否有日期。当我执行Insert查询时,在尝试执行 - >格式之前检查$ orderDate是否为null(因为这会引发错误)

  2. 我在setter中测试是否在创建新的DateTime对象之前传递了任何内容,但在使用 - >格式之前,我仍然坚持测试是否存在。

  3. 这不是什么大不了的事情,但我处理了很多日期字段,而且它变得非常重复。有没有更好的方法来处理这个?在我的理想世界中,如果我在创建实例时没有将任何内容传递给DateTime,那么它将为null,如果我在null DateTime上调用 - >格式,它将返回任何内容而不是抛出错误。

1 个答案:

答案 0 :(得分:1)

试试这个:

CREATE TABLE IF NOT EXISTS `DB`.`Exampletable` (
 `field_1` VARCHAR(255) NOT NULL DEFAULT '',
 `field_2` CHAR(20) NOT NULL default 'default_text',
 `field_3` INT(10) DEFAULT NULL,
 `field_4` BIGINT(20),
 `field_5` DATETIME DEFAULT NULL
);

您是否尝试将默认NULL添加到日期?