Cara Mengatasi Error “Incorrect date value: '0000-00-00'” pada SIMRS Khanza (MySQL 8 / Ubuntu)

Cara Mengatasi Error “Incorrect date value: ‘0000-00-00’” pada SIMRS Khanza (MySQL 8 / Ubuntu)

Masalah ini cukup sering muncul saat menjalankan SIMRS Khanza di server baru, terutama jika menggunakan MySQL versi terbaru (seperti MySQL 8 di Ubuntu). Biasanya error muncul saat input data, misalnya saat pasien masuk rawat inap.

Pesan error yang muncul kurang lebih seperti ini:

<code>Incorrect date value: '0000-00-00'
for column 'tgl_keluar'
</code>

Awalnya terlihat seperti masalah sederhana, tapi sebenarnya ini berkaitan dengan perubahan aturan di MySQL versi baru.


Kenapa Error Ini Terjadi?

Di versi lama MySQL, nilai tanggal seperti:

<code>0000-00-00
</code>

masih dianggap valid (walaupun sebenarnya tidak ideal).

Namun di MySQL versi baru, terutama dengan strict mode aktif, nilai tersebut dianggap tidak valid, sehingga setiap proses INSERT atau UPDATE akan ditolak.

Sementara itu, SIMRS Khanza masih menggunakan format tersebut di beberapa bagian, misalnya untuk menandai tanggal yang belum diisi.


Dampaknya

Akibatnya:

  • Tidak bisa input pasien rawat inap
  • Proses simpan data gagal
  • Muncul error “Incorrect date value”

Solusi yang Paling Efektif

Solusi yang paling praktis adalah menyesuaikan konfigurasi MySQL agar lebih kompatibel dengan Khanza, yaitu dengan mengubah sql_mode.


Langkah-langkah Mengatasi

1. Buka file konfigurasi MySQL

Di Ubuntu, file konfigurasi bukan my.ini, tapi:

<code>/etc/mysql/mysql.conf.d/mysqld.cnf
</code>

Edit dengan perintah:

<code>sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
</code>

2. Tambahkan atau ubah sql_mode

Cari bagian:

<code>&#91;mysqld]
</code>

Lalu tambahkan:

<code>sql_mode=NO_ENGINE_SUBSTITUTION
</code>

Jika sebelumnya ada baris sql_mode, cukup ubah nilainya.


3. Restart MySQL

Setelah itu restart service MySQL:

<code>sudo systemctl restart mysql
</code>

4. Cek apakah berhasil

Masuk ke MySQL:

<code>sudo mysql
</code>

Lalu jalankan:

<code>SELECT @@sql_mode;
</code>

Jika hasilnya:

<code>NO_ENGINE_SUBSTITUTION
</code>

berarti konfigurasi sudah berhasil.


Hasil Setelah Diperbaiki

Setelah sql_mode diubah:

  • Error “Incorrect date value” tidak muncul lagi
  • Input pasien rawat inap berjalan normal
  • SIMRS Khanza bisa digunakan seperti biasa
Baca Artikel Terkait  Larangan Pemda Bikin Aplikasi Baru: Apa Dasar Aturannya dan Bagaimana Dampaknya?

Catatan Penting

Solusi ini memang bukan “perbaikan sempurna”, karena secara ideal nilai tanggal seharusnya menggunakan NULL, bukan 0000-00-00.

Namun karena SIMRS Khanza masih menggunakan format tersebut, maka penyesuaian di sisi MySQL menjadi solusi paling realistis.


Kesimpulan

Masalah ini terjadi karena perbedaan antara:

  • Sistem lama (SIMRS Khanza)
  • Dengan aturan baru di MySQL

Dengan sedikit penyesuaian di sql_mode, sistem bisa kembali berjalan normal tanpa perlu mengubah kode aplikasi.


Semoga membantu 👍

(Visited 53 times, 1 visits today)

Related Posts

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses

WhatsApp chat