Ошибка mysql 3065 на mysqld 5.7.12-0ubuntu1 Есть решение

4

При переносе сайта столкнулся с ошибкой из-за которой не работают списки товаров.

Query Error 3065: Expression #2 of ORDER BY clause is not in SELECT list, references column 'snabs.sp1.sort' which is not in SELECT list; this is incompatible with DISTINCT
Query: SELECT DISTINCT p.*,p.id,(p.count > 0 || p.count IS NULL) AS in_stock FROM shop_product p JOIN shop_set_products sp1 ON p.id = sp1.product_id WHERE p.status = 1 AND sp1.set_id = 'hits' ORDER BY in_stock DESC,sp1.sort ASC LIMIT 500

Эта ошибка возникает именно на последней версии MySql 5.7.12-0ubuntu1

Временно помогает это:

mysql -u root -p

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

mysql> SET SESSION sql_mode=(SELECT REPLACE(@@sql_mode, "ONLY_FULL_GROUP_BY,", ""));

Просьба исправить ошибку в запросе, для совместимости с новой версией MySql

7 комментариев

Добавить комментарий

Чтобы добавить комментарий, зарегистрируйтесь или войдите