我有一个看起来像这样的表:
字段:msg_sent_datetime
输入:datetime
然而,当我在php mysql插入查询中使用NOW()时,它仍然保留为全零?
任何想法为什么?
答案 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