MySQL 5.6で正常に動作したストアドプロシージャがあります。最近のサーバの移行中に、MySQL 5.7.19にアップグレードしました。sql_modeが空白であるにもかかわらず、 "sql_mode = only_full_group_byと互換性がありません"というストアドプロシージャ
私のストアドプロシージャは現在、エラーがスローされます:
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'utility-monitor.daily_readings.building_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by: CALL monthly_readings(2017, 1, NULL, 1, 1))
私は、/var/mysql/my.cnf
ファイルを経由して""
へsql_mode
を設定MySQLサービスを再起動し、sql_mode
が空白経由であることを確認するために、コンソール経由でログインしましたSELECT @@sql_mode;
これにもかかわらず、私はストアドプロシージャを実行しようとすると、上記のエラーが表示され続けます。
このエラーの原因となるトラブルシューティングを続けるには、次に何ができるのですか? documentationによると、MySQLはあなたがプロシージャを作成したときにアクティブであったSQLモードを使用しています
MySQL 5.7では、 'ONLY_FULL_GROUP_BY'がデフォルトです。 – Barmar
https://stackoverflow.com/questions/23921117/disable-only-full-group-byこれを確認する – Jenish