6

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

但是,每条新记录都会获得一个如下所示的时间戳:

0000-00-00 00:00:00

我已将默认值明确设置为无,但是当我保存并返回查看时,它被设置为如上所述的全零。

相关的 PHP 记录页面使用此查询命中:

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

整个事情都在 XAMPP 下运行。

我错过了什么?

4

4 回答 4

10

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

MySQL 参考

于 2009-05-07T21:46:52.883 回答
10

我错过了什么?

你不更新:)

DEFAULT CURRENT_TIMESTAMP一起使用ON UPDATE CURRENT_TIMESTAMP

于 2009-05-07T21:46:52.917 回答
3

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

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP

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

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
于 2009-05-08T05:36:19.120 回答
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')
于 2015-05-29T15:32:43.990 回答