MySQL неверное значение метки времени

Я пытаюсь вставить значение даты и времени "1970-01-01 00:00:01" в столбец отметки времени, но MySQL вернул ошибку "Неверное значение даты и времени:" 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 утверждает, что самое низкое допустимое значение для метки времени - "1970-01-01 00:00:01". Что не так и что является наименьшим значением метки времени? Благодарю.

1 ответ

Решение

Это проблема часового пояса. Установите часовой пояс UTC перед вставкой, например:

SET time_zone='+00:00';
INSERT INTO TST_TABLE(tst_column) VALUES('1970-01-01 00:00:01');

Другой вариант - преобразовать вашу временную метку в часовой пояс UTC, используя CONVERT_TZ. Например, если ваш часовой пояс Europe/Paris:

 INSERT INTO TST_TABLE(tst_column) VALUES(CONVERT_TZ('1970-01-01 00:00:01', 'Europe/Paris', 'UTC'));
Другие вопросы по тегам