Как именно дата/время работают в MySQL с часовыми поясами?

Как именно дата/время работают в MySQL с часовыми поясами?

Мое понимание было следующим:

  • все внутренне по UTC
  • даты отображаются в часовом поясе @@session.time_zone для текущего сеанса
  • если я делаю это INSERTс +02:00установленным TZ и вставляю 2015-05-15 10:54его, он анализируется и сохраняется как 2015-05-15 08:54UTC.
  • когда я переключаюсь на UTCTZ, теперь должно отображаться2015-05-15 08:54
  • вместо этого происходит то, что он все еще отображает2015-05-15 10:54

Что я делаю не так? Или так и должно быть? Я прочитал довольно много статей о datetime в MySQL, но все еще не уверен.

решение1

Это относится только к TIMESTAMPполям. DATETIMEПоля остаются как есть.

Видетьhttp://dev.mysql.com/doc/refman/5.7/en/datetime.html

Связанный контент