MySQL DATE_ADD - 日期错了?

时间:2009-08-12 16:17:07

标签: php sql mysql

所以我在MySQL中有一个简单的查询,在他们支付会费后设置新成员的到期日期:

UPDATE members SET joined=CURDATE(), expires=DATE_ADD(CURDATE(), INTERVAL 1 YEAR), active='1' WHERE id=1000

此查询已运行200次以上,通常具有正确的结果 - 当前日期将放在已连接字段中,并且该日期将在到期字段中放置一年。但是,在大约10个实例中,到期日期已设置为00-00-0000,没有明显的解释。我每次都开始将查询写入文本文件,以确保语法正确并且我没有错过任何内容 - 我没有 - 这正是每个查询的查询(只有ID变化),那些工作,那些没有。

我能想到的唯一问题是MySQL的DATE_ADD函数一定存在问题。还有其他人经历过这样的事吗?

更新: 我应该补充说,在过期日期不正确的情况下,连接字段与当前日期是正确的。

  • 我正在使用MySQL 5.0.81。
  • 没有触发器。
  • 该表正在使用MyISAM。

重要更新: 我是个白痴 - 当我说11-30-1999时,实际上并不是数据库中的内容。我心不在焉地写道,但实际上数据库包含值00-00-0000 - 11-30-1999就是它如何通过PHP呈现在我的页面上。对此感到抱歉,希望这会让这个问题变得难以理解。

1 个答案:

答案 0 :(得分:0)

只是一个想法......那些“错误”的日期并没有发生在闰年日期......他们是2月29日的例子吗?

这应该没关系,但它可能是一个错误。