Corregir error: SELECT list is not in GROUP BY clause and contains nonaggregated column ‘table.column’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by en php

Rate this post

El otro día en uno de mis hostings de confianza actualizaron la versión de mysql 5.5 a la versión 5.7.

Evidentemente y como esperaba no salia perfecto y una web dejo de funcionar el error era el siguiente «SELECT list is not in GROUP BY clause and contains nonaggregated column ‘table.column’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by» y a continuación os explico a como resolverlo.

El error es debido a la forma de uso de la clausula GROUP BY que no es compatible con el sql_mode=only_full_group de mysql.

LA manera mas sencilla seria cambiado el sql_mode en el motor del mysql, pero tratándose de un hosting compartido esto era imposible.

Como la web estaba hecha con el framework codeigniter lo solución fue tan sencilla como modificar unos de los modelo de datos incluyendo en la sentencia sql a ejecutar.

$this->db->query('SET SESSION sql_mode = ""');

Y con esta sencilla instrucción resolví el problema que me había ocasionado la actualización de mysq.

Deja un comentario