Страницы

Поиск по вопросам

воскресенье, 8 марта 2020 г.

Помогите с ошибкой в MySql запросе

#mysql


Есть запрос:

SELECT
    `t0`.`name`,`t0`.`img_id` AS 'id'
FROM
    `store_product` AS `t0`
WHERE
    `t0`.`oid` = :oid
GROUP BY `t0`.`img_id`


В последствие выдается ошибка, в которой я не могу разобраться:

PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 1055
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column
'db_store5.t0.name' which is not functionally dependent on columns in GROUP BY clause;
this is incompatible with sql_mode=only_full_group_by in...

Если убрать оператор GROUP BY, то все работает...
    


Ответы

Ответ 1



У вас установлена sql_mode=only_full_group_by, поэтому если используете GROUP BY, то в него необходимо добавлять ВСЕ неаггрегированные поля выборки. Необходимо перед выполнение селекта сбросить sql_mode SET sql_mode = ''

Комментариев нет:

Отправить комментарий