sql >> Database >  >> RDS >> Mysql

Hoe een datetime op te slaan in MySQL met tijdzone-info

Je zei:

Ik wil dat ze altijd uitkomen als Tanzaniaanse tijd en niet in de lokale tijden waarin verschillende medewerkers zich bevinden.

Als dit het geval is, moet u niet gebruik UTC. Het enige wat u hoeft te doen is een DATETIME . te gebruiken typ MySQL in plaats van een TIMESTAMP typ.

Uit de MySQL-documentatie :

MySQL converteert TIMESTAMP waarden van de huidige tijdzone naar UTC voor opslag en terug van UTC naar de huidige tijdzone om op te halen. (Dit gebeurt niet voor andere typen zoals DATETIME .)

Als je al bent met een DATETIME type, dan moet u het om te beginnen niet op de lokale tijd instellen. U hoeft zich minder op de database te concentreren en meer op uw applicatiecode - die u hier niet heeft laten zien. Het probleem en de oplossing zullen drastisch variëren, afhankelijk van de taal, dus zorg ervoor dat u de vraag tagt met de juiste taal van uw applicatiecode.



  1. Wat kan het Queryplan vertellen?

  2. Het toevoegen van een kolom als een externe sleutel geeft de ERROR-kolom waarnaar wordt verwezen in de externe sleutelbeperking bestaat niet

  3. Oracle:wat is de situatie om RAISE_APPLICATION_ERROR te gebruiken?

  4. TPC-H-prestaties sinds PostgreSQL 8.3