Mysql
 sql >> база данни >  >> RDS >> Mysql

Ще промени ли промяната на часова зона на MySQL стойностите на полетата DateTime в база данни?

По принцип не трябва. Има различни причини, поради които не трябва да се променя, в зависимост от типа на вашите стойности:най-вече DATETIME и TIMESTAMP.

Стойностите за DATETIME никога не се преобразуват, така че са независими от часовата зона.

Стойностите на TIMESTAMP се преобразуват (директен цитат от ръководството тук --- Предполагам, че имате сравнително нова версия на MySQL) "от текущата часова зона в UTC за съхранение и обратно от UTC в текущата часова зона за извличане. (Това не се среща за други типове, като DATETIME.) По подразбиране текущата часова зона за всяка връзка е времето на сървъра. Часовата зона може да бъде зададена за всяка връзка. Докато настройката на часовата зона остава постоянна, вие върнете същата стойност, която съхранявате. Ако съхраните стойност TIMESTAMP и след това промените часовата зона и извлечете стойността, извлечената стойност е различна от съхранената от вас стойност. Това се случва, защото същата часова зона не е била използвана за преобразуване в двете посоки." (от http://dev.mysql.com/doc/refman /5.5/bg/datetime.html ).

Така че и в двата случая данните, които действително се съхраняват на сървъра, не се променят (което е както трябва да бъде), но стойностите, които ще покажат вашите заявки, може да са различни преди и след това.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхранение на разрешения за приложение в база данни

  2. Възпроизвеждане на com.mysql.jdbc.exceptions.jdbc4.CommunicationsException с настройка на Spring, hibernate и C3P0

  3. Как да дублирам таблица в MySQL

  4. Codeigniter активно записва заявка, която отнема твърде много време за зареждане на данни от базата данни

  5. Как да получа идентификатор на вариант на Woocommerce?