Cara Mengatasi Error ONLY_FULL_GROUP_BY di Database MySQL

 

Ketika Anda mengalami error ketika menjalankan query di database mysql, dibawah ini saya akan mencoba menjelaskan bagaimana cara mengatasi error ONLY_FULL_GROUP_BY dan bagaimana cara menonaktifkan fitur tersebut.

Solusi 1 Hapus ONLY_FULL_GROUP_BY dari konsol mysql

mysql > SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

Solusi 2:  Hapus ONLY_FULL_GROUP_BY dari phpmyadmin

  • Buka PHPMyAdmin dan pilih localhost
  • Klik menu Variables dan scroll ke bawah cari Sql Mode
  • Klik menu edit untuk mengubah dan hapus ONLY_FULL_GROUP_BY kemudian klik Save

Apabila Anda merestart server mysql Anda, pengaturan mysql akan berubah seperti semua dan error ONLY_FULL_GROUP_BY akan muncul kembali, Untuk menghapus ONLY_FULL_GROUP_BY secara permanen Anda dapat meng-copy values sql mode dan menambahkannya di file my.ini. berikut lokasi my.ini :

mint: sudo nano /etc/mysql/my.cnf
ubuntu 16 and up: sudo nano /etc/mysql/my.cnf
ubuntu 14-16: /etc/mysql/mysql.conf.d/mysqld.cnf

Dibawah ini Langkah-langkah untuk menambahkan sql mode di konfigurasi mysql  :

1. sudo nano /etc/mysql/my.cnf

2. Tambahkan kode dibawha ini di akhir baris file.

[mysqld]  
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

3. sudo service mysql restart untuk me-restart MySQL

Langkah-langkah diatas akan men-disable ONLY_FULL_GROUP_BY untuk SEMUA user.

 

Sumber : https://stackoverflow.com/questions/23921117/disable-only-full-group-by