【发布时间】:2021-12-29 17:06:44
【问题描述】:
我一直在用以下内容更新我的 MySQL 表:
ALTER TABLE logs ADD COLUMN updateTimeStamp timestamp DEFAULT current_timestamp() ON UPDATE current_timestamp;
这以
的格式存储时间戳2021-12-29 15:21:34
我最初尝试这样做:
ALTER TABLE logs ADD COLUMN updateTimeStamp timestamp DEFAULT unix_timestamp() ON UPDATE unix_timestamp();
这样可以像 12121232 这样存储,但是会导致错误。
无论如何我可以实现默认值和更新并以 1212112 格式存储时间戳,而不是人类可读的日期时间?
我知道我可以做到SELECT unix_timestamt(columnname),但理想情况下我不想这样做。
【问题讨论】:
-
根据文档,MySQL 存储了一个TIMESTAMP: A four-byte integer representing seconds UTC since the epoch ('1970-01-01 00:00:00' UTC)。当你查询它时,它会给你一个人类可读的时间戳。如果你想在 MySQL 不知道它是时间戳的情况下存储一个整数,那么你可以这样做,但是你会失去它提供的时间戳的任何功能。
-
select version();显示什么?