■エラー内容
MySQL5.6ではエラーにならなかった以下のSQLが...
SELECT a.name, b.name
FROM a LEFT JOIN b ON a.id = b.id
GROUP BY a.id
MySQL5.7.9では以下のエラーとなりました。
Expression #n of SELECT list is not in GROUP BY
clause and contains nonaggregated column 'dbname.b.name'
which is not functionally dependent on columns in GROUP BY clause;
this is incompatible with sql_mode=only_full_group_by
■原因
そもそもこのSQLは誤っているのでエラーになるのが正しいようですが、
MySQL5.6では「only_full_group_by」が無効になっているらしくエラーになりませんでした。
MySQL5.7.9ではデフォルトで有効になっているようなので、エラーになったようです。
■許容するには
「only_full_group_by」を無効にすればOKそうです。
が、誤っているSQLもエラーにならないという罠に陥るので、
迂闊に無効にするのは危ない気がします。
設定大事。(今まで書いたSQL大丈夫か心配になってきました...)