Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy zmiana strefy czasowej MySQL zmieni wartości pól DateTime w bazie danych?

W zasadzie nie powinno. Istnieje wiele powodów, dla których nie powinno się to zmieniać, w zależności od typu Twoich wartości:głównie DATETIME i TIMESTAMP.

Wartości DATETIME nigdy nie są konwertowane, więc są niezależne od strefy czasowej.

Wartości TIMESTAMP są konwertowane (bezpośredni cytat z podręcznika tutaj --- zakładam, że masz dość najnowszą wersję MySQL) „z bieżącej strefy czasowej na UTC w celu przechowywania i z powrotem z UTC do bieżącej strefy czasowej w celu pobrania. (To nie występuje dla innych typów, takich jak DATETIME.) Domyślnie bieżąca strefa czasowa dla każdego połączenia to czas serwera. Strefę czasową można ustawić dla każdego połączenia. Dopóki ustawienie strefy czasowej pozostaje stałe, można odzyskaj tę samą wartość, którą przechowujesz. Jeśli zapiszesz wartość TIMESTAMP, a następnie zmienisz strefę czasową i pobierzesz tę wartość, pobrana wartość będzie inna niż wartość zapisana. Dzieje się tak, ponieważ ta sama strefa czasowa nie była używana do konwersji w oba kierunki." (z http://dev.mysql.com/doc/refman /5.5/pl/datetime.html ).

Tak więc w obu przypadkach dane faktycznie przechowywane na serwerze nie zmieniają się (a tak powinno być), ale wartości, które pokażą twoje zapytania, mogą się różnić przed i po.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konwertuj z daty i godziny MySQL na inny format za pomocą PHP

  2. Jak znaleźć dane z ostatniego tygodnia w MySQL

  3. Najszybszy sposób na wstawienie danych masowych do bazy danych Mysql

  4. Dostawca członkostwa ASP.NET MVC + MySql, użytkownik nie może się zalogować

  5. MySQL WSTAW GDZIE NIE ISTNIEJE