php / mysql安装中的unix时间戳 - 最好的MySQL数据类型存储它?

时间:2011-04-09 21:11:21

标签: mysql unix-timestamp

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

换句话说:

INT(32)

等...

感谢您的任何提示。

2 个答案:

答案 0 :(得分:5)

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;

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

答案 1 :(得分:2)

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

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