MySQL 时间戳 - 为什么全为零?

发布于 2024-07-19 20:58:21 字数 466 浏览 2 评论 0原文

我正在使用 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 下运行。

我缺少什么?

I'm using PHPMyAdmin and I've got a MySQL table column called "timestamp." The type (surprise!) is TIMESTAMP, and in 'attributes' I've set it to ON UPDATE CURRENT_TIMESTAMP.

However, each new record gets a timestamp that looks like this:

0000-00-00 00:00:00

I have explicitly set the default value to none, but when I save and come back to look, it is set to all zeros as above.

The relevant PHP records page hits with this query:

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

The whole thing is running under XAMPP.

What am I missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

心的位置 2024-07-26 20:58:22

我错过了什么?

您不更新:)

DEFAULT CURRENT_TIMESTAMPON UPDATE CURRENT_TIMESTAMP 一起使用

What am I missing?

You don't update :)

Use DEFAULT CURRENT_TIMESTAMP along with ON UPDATE CURRENT_TIMESTAMP

虚拟世界 2024-07-26 20:58:22

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

MySQL 参考

Try setting the default value to CURRENT_TIMESTAMP instead of putting that in the attributes.

MySQL Reference

赠我空喜 2024-07-26 20:58:22

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

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP

否则,如果它用于修改时间,则使用如下所示

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

If your timestamp column captures only the insertion time then use only

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP

Otherwise if it is for modification time then use like as follows

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
小兔几 2024-07-26 20:58:22

在我的例子中,工作原理如下:

在 phpMyAdmin 中:

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

在行的 PHP 语法中:

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

In my case works like this:

In phpMyAdmin:

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

In PHP sintax for the row:

date('Y-m-d H:i:s')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文