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

Jenis kolom MySQL TIMESTAMP secara implisit termasuk NOT NULL DEFAULT CURRENT_TIMESTAMP PADA UPDATE CURRENT_TIMESTAMP

Di MySQL 5.6.5 ada beberapa pembaruan mengenai inisialisasi ini, Anda dapat melihat di tautan (Properti Stempel Waktu Otomatis Sebelum MySQL 5.6.5).

Jika Anda menggunakan MySQL <=5.6.5 , untuk mengabaikan inisialisasi ini, Anda perlu menyetel nilai DEFAULT ke 0 atau NULL dengan NULL diizinkan.

CREATE TABLE tbl
(
    field1 TIMESTAMP DEFAULT 0,
    field2 TIMESTAMP NULL DEFAULT NULL
)

Jika Anda menggunakan MySQL>=5.6.6 , ada parameter bernama explicit_defaults_for_timestamp yang dinonaktifkan secara default. Anda dapat mengaktifkan pengaturan ini atau menyetel nilai DEFAULT ke 0 atau NULL, pendekatan yang sama untuk versi MySQL sebelumnya.

Jika Anda menggunakan MySQL>=8.0.2 , lalu explicit_defaults_for_timestamp diaktifkan secara default. Ini menonaktifkan perilaku non-standar (untungnya). Juga, MySQL menghasilkan peringatan ketika Anda menonaktifkan pengaturan ini. Jadi, misalnya, jika Anda tidak mendefinisikan nilai DEFAULT untuk TIMESTAMP kolom, secara otomatis diatur ke NULL .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat memperoleh beberapa entitas Tabel melalui prosedur Tersimpan menggunakan hibernasi

  2. Mengapa Eclipse mengusulkan Objek sebagai tipe pemetaan default untuk tipe data Teks?

  3. Terapkan nilai unik di dua tabel

  4. Seberapa cepat MyISAM dibandingkan dengan InnoDB?

  5. Cara Mengimpor File CSV ke Tabel MySQL