Невозможно отключить ONLY_FULL_GROUP_BY

У меня проблема с ONLY_FULL_GROUP_BY на MySQL 5.7.14, где я не могу отключить ее, даже если я установил режим SQL.

Я установил оба @@sql_mode для удаления ONLY_FULL_GROUP_BY, выполнив эту команду: SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); и я также обновил файл my.cnf, чтобы исключить его, установив параметр sql-mode.

Если я запустил select @@sql_mode я вижу, что ONLY_FULL_GROUP_BY больше не установлен.

Однако, когда я запускаю свою хранимую процедуру, я все еще получаю эту ошибку:

1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'product_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

Что мне здесь не хватает? Не игнорирует ли SP режим sql?

Я не хочу изменять код SP, как он был установлен из стороннего модуля (для Magento), и это может вызвать проблемы, если мы хотим обновить.

Это на WAMP для моего локального разработчика.

1
04 дек. '17 в 1:12
источник поделиться
1 ответ

Для тех, кто приходит в ту же проблему, выясняется, что режим sql сохраняется вместе с хранимой процедурой, поэтому, хотя я правильно изменил режим sql, он вообще не обновляет SP. Чтобы исправить это, я просто удалил и воссоздал хранимые процедуры, когда установлен новый режим sql. Теперь он отлично работает!

1
04 дек. '17 в 22:56
источник

Посмотрите другие вопросы по меткам или Задайте вопрос