Страница 1 из 1
Ошибка Error: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column
Добавлено: 25 июл 2022, 05:42
desperate_one
Приветствую! Получаю ошибку Error: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column , причину знаю, решаю её запуская код SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));.
Но помогает только до перезагрузки сервера, потом снова приходится повторять действия, как сделать чтобы эта настройка сохранилась на постоянно?
Re: Ошибка Error: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column
Добавлено: 25 июл 2022, 23:34
SagePointer
В конфиге Mysql, но лучше нормально писать запросы, чтобы они не полагались на поведение MySQL, разрешающее выборку полей, не связанных с группируемыми полями функционально.
Если будете потом переносить ваш сайт на хостинг, то там не сможете уже отредактировать конфиг и разрешить подобное поведение.
Re: Ошибка Error: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column
Добавлено: 27 июл 2022, 14:14
desperate_one
Изменения в конфиге MySQL затираются при перезапуске сервера, отсюда и вопрос. На счёт правильной постановки запросов согласен, но пока нужно так.
Re: Ошибка Error: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column
Добавлено: 27 июл 2022, 22:52
SagePointer
desperate_one писал(а): ↑27 июл 2022, 14:14
Изменения в конфиге MySQL затираются при перезапуске сервера, отсюда и вопрос. На счёт правильной постановки запросов согласен, но пока нужно так.
Не затираются, если редактировать не тот временный файл, который OpenServer генерирует, а из папки userdata\config или через редактирование конфига из контекстного меню OpenServer.
Ещё один вариант решения я забыл указать - это в самом скрипте после установки соединения с БД выполнять запрос SET SESSION sql_mode = ......