Mysql5.7 エラー 1055 の解決策: まず my.cnf 設定ファイルを見つけて開き、次に「only_full_group_by」項目を削除するか、mysql コマンド ラインを開いてコマンド「select @@sql_mode」を実行します。できる。
推奨: 「mysql チュートリアル 」
mysql5.7 エラー 1055
MySQL5.7 の新機能によるグループ化、エラー 1055
このプロジェクトはもともと開発に mysql5.6 を使用していましたが、5.7 に切り替えた後、突然、元の SQL 操作の一部が実行されていませんでした。エラー レポート、エラー コード 1055、エラー メッセージは sql_mode の "only_full_group_by" に関連しています。オンラインで理由を読んだところ、mysql5.7 では、only_full_group_by モードがデフォルトで有効になっていると言われています。解決策は大きく 2 つあります。 :
1 : SQL クエリ ステートメントで group by を必要としないフィールドで any_value() 関数を使用します
もちろん、これは多くの関数を開発したプロジェクトには適していません。もう一度
2: my.cnf (Windows では my.ini) 設定ファイルを変更し、only_full_group_by 項目を削除します
プロジェクトの mysql は次のとおりです。 ubuntu にインストールされている場合、このファイルを見つけて開きます。このファイルには sql_mode 構成項目がないので、必要に応じて削除する必要はありません。
もちろん、他の方法もあります。mysql コマンド ラインを開いてコマンド
select @@sql_mode
を実行すると、sql_mode の値を確認し、この値をコピーして、設定項目を追加できます。 my.cnf (クエリされた値からonly_full_group_by オプションを削除し、その他をコピーします):
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysqld] 行がコメントアウトされている場合は、必ずコメントを開いてください。次に、mysql サービスを再起動します
注: あるセッションで設定項目を変更するには、コマンド
set sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
を使用します。これは、他のセッションでは有効になりません。
以上がmysql5.7 がエラー 1055 を報告した場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。