MySQL时间戳 - 为什么全零?

时间:2009-05-07 21:43:11

标签: php mysql timestamp phpmyadmin

我正在使用PHPMyAdmin,我有一个名为“timestamp”的MySQL表列。类型(惊喜!)是TIMESTAMP,在“属性”中我将其设置为ON UPDATE CURRENT_TIMESTAMP

但是,每条新记录都会显示如下所示的时间戳:

0000-00-00 00:00:00

我已经将默认值显式设置为none,但是当我保存并返回查看时,它会被设置为全部为零。

相关的PHP记录页面点击此查询:

$query = "INSERT INTO `pagehit` (user_id, pageurl)
VALUES ('" . $userid . "', '" . $pageurl . "')";

整个事情都在XAMPP下运行。

我错过了什么?

4 个答案:

答案 0 :(得分:10)

尝试将默认值设置为CURRENT_TIMESTAMP,而不是将其放在属性中。

MySQL Reference

答案 1 :(得分:9)

  

我错过了什么?

你没有更新:)

使用DEFAULT CURRENT_TIMESTAMPON UPDATE CURRENT_TIMESTAMP

答案 2 :(得分:3)

如果您的timestamp列仅捕获插入时间,则仅使用

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP

否则,如果是修改时间,则使用如下

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

答案 3 :(得分:1)

在我的案例中,这样做:

在phpMyAdmin中:

ALTER TABLE `name_table`  ADD  `name_row` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

在PHP的sintax行中:

date('Y-m-d H:i:s')