Incorrect date value: '0000-00-00'

Wuhuu 4 tahun sudah gak nulis disini. Oke langsung saja lah tidak perlu basa basi terlalu panjang. Kali ini saya akan menulis dari pengalaman pribadi saat melakukan restore database. Udah databasenya gede, backup and downloadnya lama, begitu di-restore malah error. 😤

Nah errornya tuh kayak gini:

#1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'input_date' ...

Kalau melihat errornya sih simple aja sebenarnya, cara nanganinnya juga gampang. Tinggal ganti aja tanggalnya jadi misalnya 1970-01-01. Nah kan udah valid tuh. Ketika di-import lagi juga pastinya berhasil. Cuman.... yang jadi masalah itu filenya guedee. Database transaksi udah sekian tahun bisa nyampe lebih dari 1GB. Ya kalau punya spek komputer mumpuni sih oke-oke aja, tinggal dibuka di code editor, gunakan fitur find and replace, kelar. Terus gimana kalau yang komputernya kentang? Dibuka pake notepad aja langsung hang. 😱😢

Oke, mari kita coba gunakan cara berikut ini. Namun perlu diperhatikan ya, saya me-restore database saya ini di Linux. Yang pake selain itu saya gak tau. OK?! Lanjut...

sed 's/0000-00-00/1970-01-01/g' nama_file.sql | mysql -u user_databasenya -ppassword_user_databasenya nama_database_tujuan

Nah lihat kode di atas itu ya. Kita menggunakan sed. Jika mengutip dari halaman resminya di https://www.gnu.org/software/sed, "sed" itu seperti ini kurleb: "sed (stream editor) is a non-interactive command-line text editor. Bisa diartikan text editor tidak interaktif untuk command line. Nah maksud kode di atas tuh seperti ini:

sed : ya perintah sed itu sendiri

's/0000-00-00/1970-01-01/g' : ini regex yang artinya s (subtitute / find and replace) cari kode 0000-00-00 dan ganti menjadi 1970-01-01. g (global)

nama_file.sql : jelas lah ya, ini nama / path dari berkas sql kamu

mysql -u user_databasenya -p nama_database_tujuan : ini juga jelas kan ya, haha 😆

Nah kalalu dideskripsikan tuh seperti ini.

Bismillahirrahmanirrahim. sed ganti teks 0000-00-00 dengan 1970-01-01 di semua tempat pada berkas nama_file.sql. Kalau sudah selesai langsung dilanjut diimport menggunakan query mysql dengan user user_databasenya dan password password_user_databasenya ke database nama_database_tujuan.

 

Sekian.  🏃‍♂️💨

 

 

 

Comments

Popular posts from this blog

Langkah - langkah Install DSpace (software repository) PART II

Langkah - langkah Install DSpace (software repository) PART I

Memberbaiki Label & Barcode Generator Popup yang Terblokir