Rumah > Artikel > pangkalan data > Bagaimana untuk Membetulkan Ralat MySQL 1055: Ungkapan Bukan dalam KUMPULAN OLEH Klausa?
#1055 - Ungkapan Bukan dalam GROUP BY Klausa Tidak Serasi dengan Konfigurasi Pelayan
Dalam MySQL versi 5.7.12 dan lebih baru, menggunakan sql_mode= only_full_group_by tetapan memastikan bahawa fungsi agregat hanya beroperasi pada lajur termasuk dalam klausa GROUP BY atau merupakan fungsi agregat sendiri.
Untuk menyelesaikan ralat "Ungkapan senarai SELECT tiada dalam klausa GROUP BY dan mengandungi lajur tanpa agregat ini tidak serasi dengan sql_mode=only_full_group_by," pertimbangkan langkah berikut :
Dayakan Mod Keserasian:
Tambah baris berikut ke bahagian bawah fail:
[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
Mulakan semula MySQL:
Ini diubah suai tetapan sql_mode akan membenarkan fungsi agregat digunakan pada lajur yang tidak disertakan dalam klausa GROUP BY tanpa menimbulkan ralat. Walau bagaimanapun, adalah disyorkan untuk menggunakan mod ini sahaja untuk tujuan keserasian dan mempertimbangkan untuk menstrukturkan semula pertanyaan untuk mematuhi mod_kumpulan_penuh_sendiri apabila boleh.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat MySQL 1055: Ungkapan Bukan dalam KUMPULAN OLEH Klausa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!