in mysql, Tips dan Trik

Cara Merubah SQL-Mode di MySQL

Cara Merubah SQL-Mode di MySQL

Pernah terjadi pada aplikasi aplikasi lama saya, ketika saya harus upgrade versi MySQL ke yang terbaru yaitu MySQL versi 5.7, terjadi beberapa query tidak bisa berjalan dan muncul pesan kesalahan kurang lebih seperti berikut : “this is incompatible with sql_mode=only_full_group_by” , atau ketika kita masukkan nilai “0000-00-00” pada kolom dengan tipe data date, bisa jadi ini karena settingan SQL-Mode default dari MySQL terbaru, cara mengatasinya adalah dengan merubah SQL-Mode di MySQL, berikut adalah cara yang saya gunakan untuk merubah sql-mode pada MySQL.

  1. Periksa terlebih dahulu sql-mode yang sedang aktif, gunakan query berikut pada terminal atau command prompt.
    mysql -u root -pPASSWORD -e “select @@sql-mode” , yang tampil dilayar saya seperti berikut :

    +-------------------------------------------------------------------------------------------------------------------------------------------+
    
    | @@sql_mode |
    
    +-------------------------------------------------------------------------------------------------------------------------------------------+
    
    | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
    
    +-------------------------------------------------------------------------------------------------------------------------------------------+
    

    bila merujuk pada dokumentasinya disini, yang jadi masalah dari tidak berjalannya query saya adalah adalnya mode ONLY_FULL_GROUP_BY, NO_ZERO_IN_DATA dan NO_ZERO_DATE, untuk itu saya harus men set ulang sql-mode dengan tidak menyertakan ketiga mode tersebut.

  2. Buka file konfigurasi MySQL biasanya ada di file my.cnf atau my.ini jika menggunakan windows, cari baris yang mengandung kata [mysqld] dan tambahkan baris berikut :
    sql-mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

    catatan penting: pada versi sebelumnya adalah sql_mode sedangkan yang terbaru adalah sql-mode

  3. Kemudian simpan dan restart MySQL.

kemudian kembali ke aplikasi, dan akhirnya aplikasi berjalan normal kembali.

Write a Comment

Comment

  • Related Content by Tag