rollandb
By:
rollandb

Web App cannot query DB

February 12, 2017 542 views
MySQL LAMP Stack Ubuntu 16.04

Hello,

I recently migrated my DB to the DO VPS, all went well, I've updated my webapp to query the localhost DB instead of the old one but I get error like this:
SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'myDB.p0.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sqlmode=onlyfullgroup_by"

My app is developed on the Symfony 3 framework, with Doctrine ORM.

Please let me know what I can do to fix that error.

Thanks,
Roland

1 Answer

@rollandb

The above is due to your current MySQL version setting sql_mode to onlyfullgroup_by.

MySQL defaults to onlyfullgroup_by on v5.7.5+ and that seems to conflict with the query that you're attempting to run -- perhaps because the previous version of MySQL you were running on either did not have a mode set, or it was set to something else that still allowed that query to execute.

What you can try is logging in to the MySQL CLI as root and executing:

SET sql_mode = '';

And then refresh and see if that allows the query to work for you. This isn't so much an issue with MySQL directly as it is with the mode MySQL is running in and what you're trying to do inside the query.

Have another answer? Share your knowledge.