NOW()不更新datetime?

时间:2010-07-13 05:35:12

标签: php mysql

我有一个看起来像这样的表: 字段:msg_sent_datetime
输入:datetime

然而,当我在php mysql插入查询中使用NOW()时,它仍然保留为全零?

任何想法为什么?

2 个答案:

答案 0 :(得分:0)

如果您仅在INSERT时使用该字段,则可以将该字段设为TIMESTAMP并将默认设置为CURRENT_TIMESTAMP

如果不了解更多有关代码的信息,很难提出其他许多建议。

CURRENT_TIMESTAMP

的示例
CREATE TABLE example (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    msg TEXT,
    msg_sent_datetime TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

此外,如果您希望在对行进行更改时始终更新,则可以将ON UPDATE CURRENT_TIMESTAMP属性添加到表定义中:

CREATE TABLE example (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    msg TEXT,
    msg_sent_datetime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

当然,所有这一切完全取决于切换到您可能不想要的TIMESTAMP

答案 1 :(得分:0)

我不知道为什么,但是mysql有2个日期时间函数:now()和sysdate()。也许你可以用sysdate()替换now()来帮助你排除故障。

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_sysdate