#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 = ''
Комментариев нет:
Отправить комментарий