2016-07-15 12 views
2

私はUbuntu 16.04でmysqlバージョン5.7.12を使用しています。mysql 5.7.12 - sql_modeをonly_full_group_byで無効にすることが完全に成功していない

SQL例外:SELECTリストの式#Xは、GROUP BY句ではなく、グループ内の列に機能的に依存しない非集約列「something.something」を含む私のWebアプリケーションを実行している間、私は次の例外に気づきましたBY句;これはsql_mode = only_full_group_byと互換性がありません

これはmysql 5.5上で完全に動作するために使用されました。私はオンラインでソリューションを探しました。私はなぜ彼らがバージョン5.7ではデフォルトでmysql_modeをonly_full_group_byだけ強制しているのか理解できます。しかし、この段階ではコードに戻ってクエリを修正する余裕はありません。私はこのsql_modeを/etc/mysql/my.cnfファイルを編集して、hereというように無効にすることを選択しました。 my.cnfの最後に次の行を追加し、mysqlを再起動します。それは私がmysqlのコンソールで次のコマンドを試してみました動作することを確認するには

[mysqld] 
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' 

:以下に示すように

SELECT @@sql_mode; 

SELECT @@GLOBAL.sql_mode; 

SELECT @@SESSION.sql_mode; 

これらのすべては、同じ結果を返しました:

+ ---- -------------------------------------------------- --------------------------------------- + | @@ GLOBAL.sql_mode | + ------------------------------------------------ ------------------------------------------- + + | STRICT_TRANS_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION | + ------------------------------------------------ --------------------------------------------- +

1行のセット(0.00秒)

私のwebappを起動した後、実際にはいくつかのクエリで動作することが判明しましたが、他のものでも同じ例外がスローされました。私は何をすべきかわからない。この問題を解決するのを手伝ってください。

おかげ

答えて

1

は、上記に指定されたsql_modeをオーバーライドすることができることを、あなたのファイルシステム内のmy.cnfファイルの複数の出現を確認してください。

関連する問題