MySQL时间戳值不正确

3

我试图将日期时间值'1970-01-01 00:00:01'插入到时间戳列中,但MySQL返回了一个错误:"对于列'timestamp',日期时间值不正确:'1970-01-01 00:00:01'"

CREATE TABLE TST_TABLE
(
  tst_column timestamp NULL
)

INSERT INTO TST_TABLE(tst_column) VALUES('1970-01-01 00:00:01');

我有点困惑,因为MySQL文档声称timestamp的最低有效值是'1970-01-01 00:00:01'。这是错的吗?真正的最低timestamp值是多少?谢谢。

1个回答

4
这是一个时区问题。在插入之前,请将时区设置为UTC,例如:
SET time_zone='+00:00';
INSERT INTO TST_TABLE(tst_column) VALUES('1970-01-01 00:00:01');

另一个选择是使用CONVERT_TZ将您的时间戳转换为UTC时区。例如,如果您的时区是欧洲/巴黎

 INSERT INTO TST_TABLE(tst_column) VALUES(CONVERT_TZ('1970-01-01 00:00:01', 'Europe/Paris', 'UTC'));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接