Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Akankah mengubah zona waktu MySQL mengubah nilai bidang DateTime dalam database?

Pada prinsipnya tidak seharusnya. Ada berbagai alasan mengapa itu tidak boleh berubah, tergantung pada jenis nilai Anda :sebagian besar DATETIME dan TIMESTAMP.

Nilai DATETIME tidak pernah dikonversi, sehingga tidak bergantung pada zona waktu.

Nilai TIMESTAMP dikonversi (kutipan langsung dari manual di sini --- Saya berasumsi Anda memiliki versi MySQL yang cukup baru) "dari zona waktu saat ini ke UTC untuk penyimpanan, dan kembali dari UTC ke zona waktu saat ini untuk pengambilan. (Ini tidak terjadi untuk jenis lain seperti DATETIME.) Secara default, zona waktu saat ini untuk setiap koneksi adalah waktu server. Zona waktu dapat diatur per koneksi. Selama pengaturan zona waktu tetap konstan, Anda mendapatkan kembali nilai yang sama yang Anda simpan. Jika Anda menyimpan nilai TIMESTAMP, lalu mengubah zona waktu dan mengambil nilainya, nilai yang diambil berbeda dari nilai yang Anda simpan. Hal ini terjadi karena zona waktu yang sama tidak digunakan untuk konversi di kedua arah." (dari http://dev.mysql.com/doc/refman /5.5/en/datetime.html ).

Jadi dalam kedua kasus, data yang sebenarnya disimpan di server tidak berubah (sebagaimana seharusnya), tetapi nilai yang akan ditampilkan kueri Anda mungkin berbeda sebelum dan sesudahnya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bantu mengedit JSON untuk membuat array daripada 'kamus'

  2. Penggunaan kreatif untuk mesin lubang hitam

  3. Cara Mendapatkan Tanggal Saat Ini di MySQL

  4. PILIH setiap karyawan yang memiliki gaji lebih tinggi dari RATA-RATA departemennya

  5. Menampilkan pesan ketika tidak ada hasil yang ditemukan dalam pencarian PHP MySQL