php/mysql 安装中的 unix 时间戳 - 将其存储为最佳 MySQL 数据类型?

发布于 2024-10-31 12:24:14 字数 122 浏览 0 评论 0原文

我正在尝试找出数据库中存储 unix 时间戳的最佳数据类型和大小...

换句话说:

INT(32)

等等...

感谢您的任何提示。

I'm trying to figure out the best datatype and size in my DB to store unix timestamps...

In otherwords:

INT(32)

etc...

Thanks for any tips.

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

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

发布评论

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

评论(2

甜心 2024-11-07 12:24:15

TIMESTAMP 是一个非常简单的选择。它在内部实现为 UNIX 时间戳,但在外部它显示为日期字符串(例如“1970-01-01 00:00:01”)。

编辑:要将 INT 迁移到时间戳,其中 time_test 是表,ts 是原始列:

ALTER TABLE time_test ADD ts_new TIMESTAMP;
UPDATE time_test SET ts_new = FROM_UNIXTIME(ts);
ALTER TABLE time_test DROP ts;
ALTER TABLE time_test CHANGE COLUMN ts_new ts TIMESTAMP;

如果您关心列顺序,您可能需要稍微调整它。

TIMESTAMP is a pretty straight-forward choice. It's implemented as a UNIX timestamp internally, but externally it appears as a date string (e.g. "1970-01-01 00:00:01").

EDIT: To migrate an INT to a timestamp, where time_test is the table and ts is the original column:

ALTER TABLE time_test ADD ts_new TIMESTAMP;
UPDATE time_test SET ts_new = FROM_UNIXTIME(ts);
ALTER TABLE time_test DROP ts;
ALTER TABLE time_test CHANGE COLUMN ts_new ts TIMESTAMP;

You may have to tweak it slightly if you care about the column order.

绅刃 2024-11-07 12:24:15

MySql 直接支持 Unix 时间戳作为 TIMESTAMP 数据类型。

你有正常的限制;日期必须为 1970 年 1 月 1 日至 2038 年 1 月 19 日。

MySql supports Unix timestamps directly as the TIMESTAMP data type.

You have the normal limitations; dates must be from 1 Jan 1970 until 19 Jan 2038.

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