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

Nilai datetime salah Database Error Number:1292

Saya menemukan setelah memutakhirkan ke MySQL 5.7 bahwa kesalahan ini mulai terjadi dalam situasi acak, bahkan ketika saya tidak memberikan tanggal dalam kueri.

Ini tampaknya karena sebelumnya versi tanggal yang didukung MySQL seperti 0000-00-00 00:00:00 (secara default) namun 5.7.4 memperkenalkan beberapa perubahan pada NO_ZERO_DATE pengaturan. Jika Anda masih memiliki data lama saat menggunakan versi MySQL yang lebih baru, kesalahan acak mungkin muncul.

Saya perlu melakukan kueri seperti ini untuk menyetel ulang semua tanggal nol ke tanggal lain.

# If the columns supports NULL, use that
UPDATE table SET date_column = NULL WHERE date_column < '1000-01-01';

# Otherwise supply another default date
UPDATE table SET date_column = '1970-01-01' WHERE date_column < '1000-01-01';

Atau, Anda mungkin dapat menyesuaikan NO_ZERO_DATE pengaturan, meskipun perhatikan apa yang dikatakan dokumen tentangnya:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Amazon RDS Aurora vs RDS MySQL vs MySQL di EC2?

  2. Bantuan kasus pembaruan MySQL

  3. ORDER BERDASARKAN abjad terlebih dahulu kemudian ikuti dengan nomor

  4. Bagaimana cara menambahkan referensi ke konektor MySQL untuk .NET?

  5. Batas waktu koneksi JDBC tidak dapat terhubung kembali