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