Обновление временных меток в базе данных MySQL после смены часового пояса сервера

#php #mysql #sql #datetime #timestamp

#php #mysql #sql #дата и время #временная метка

Вопрос:

Теперь у меня на сервере установлен неправильный часовой пояс, поэтому все записи в моей базе данных MySQL имеют временные метки, отличающиеся от реальных на 4 часа. Как мне обновить все временные метки, чтобы они соответствовали реальному времени?

Например, у меня есть временная метка, подобная 2014-06-28 20:34:29 . Мне нужно, чтобы это стало 2014-06-29 00:34:29 .

Будем признательны за любую помощь.

Комментарии:

1. ..SET datecol=datecol INTERVAL 4 HOUR Или вам может потребоваться изменить часовой пояс, чтобы он не был понятным. Вы хотите правильно их распределить или ОБНОВИТЬ таблицу?

2. Не обновляйте свои данные. Установите для часового пояса правильное значение, потому что «MySQL преобразует значения временных меток из текущего часового пояса в UTC для хранения и обратно из UTC в текущий часовой пояс для извлечения». ( dev.mysql.com/doc/refman/5.6/en/datetime.html )

3. @VMai спасибо, я попробую то, что вы предложили

Ответ №1:

предполагая, что ваше поле даты называется created_at

update <table> SET created_at = DATE_ADD(created_at,INTERVAL 4 HOUR)