我正在尝试找出我的数据库中存储unix时间戳的最佳数据类型和大小......
换句话说:
INT(32)
等...
感谢您的任何提示。
答案 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日。