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