Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'returntr_prod.tbl_customer_pod_uploads.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_byhemen bu sorunu nette aradım. karşıma birkaç çözüm önerisi gelsede aslında 3 çözüm vardı. bunlardan birincisi
SELECT @@sql_mode; SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'veya
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));bu sql kodlarını phpmyadmin de sql kodu olarak çalıştırmak. ikincisi ise phpmyadmin üzerinde aşağıdaki ayarların değiştirilmesi idi
variables(değişkenler) seçeneği altında bulunan sql mod(sql mode) bölümünü edit (Düzenle) diyerek açılan kutuda ONLY_FULL_GROUP_BY ifadesini kaldırın.
Buraya kadar uyguladıklarım sorunu geçici olarak hep çözdü. fakat bilgisayarı yeniden başlattıktan sonra hep aynı işlemleri tekrardan uygulamak zorunda kalıyorsunuz.
Kalıcı çözüm olarak ise
CTRL+ALT+T ile terminali açtıktan sonra
sudo gedit /etc/mysql/my.cnfkomutunu vermeniz ve onaylamanız. bu onaydan sonra sistem sizden root şifrenizi isteyecektir. root şifrenizi yazdıktan sonra açılan belgenin en altına
[mysqld] sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONkodlarını ekleyip belgeyi kaydedip çıkın. ve daha sonra
sudo service mysql restartkomutunu kullanarak mysql’ i yeniden başlatın. artık bundan sonra bilgisayarı kapatsanız dahi group by hatası ile karşılaşmayacaksınız. kaynak https://stackoverflow.com/
Henüz Yorum Yapılmamış. İlk Yorumu Siz Yapın!