ホームページ >データベース >mysql チュートリアル >MySQL 5.7 で group by ステートメントを使用すると 1055 エラーが発生する

MySQL 5.7 で group by ステートメントを使用すると 1055 エラーが発生する

little bottle
little bottle転載
2019-04-18 10:58:122756ブラウズ

この記事の主な内容は、MySQL 5.7 で group by ステートメントを使用する際に発生する 1055 エラーの問題の分析と解決策に関するものです。必要な友人は参照してください。

1. mysql バージョン 5.7 以降でグループ化に group by ステートメントを使用する場合、選択したフィールドが group by 後のフィールドに正確に対応せず、他のフィールドがある場合、このエラーが報告されます

エラー 1055 (42000): SELECT リストの式 #1 は GROUP BY 句になく、非集計列が含まれています

2。これは、mysql の上位バージョンで sql_mode

# が追加されているためです。 ##SQL_mode を表示

select @@sql_mode;

mysql> select @@sql_mode;

------------------- --- --------------------------------------------------- --- --------------------------------------------------- --- ------------------
| @@sql_mode ---------------------- ------------------------ ----------------------------- ---------------------------- ------------------
| ONLY_FULL_GROUP_BY、STRICT_TRANS_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE、ERROR_FOR_pISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION |
---------- ------------ ------------------------ ----------------------- ------------------------ ----------------------- ---

グループ化フィールドと選択フィールドを厳密に制御する ONLY_FULL_GROUP_BY があることがわかります。SQL ステートメントを変更せずにこれを削除するだけです

3. このファイルを編集しました /私の ubuntu システムでは etc/mysql/conf.d/mysql.cnf が見つかり、他のシステムでは対応する設定ファイルが見つかりました。[mysqld] ブロックで sql_mode を設定し、ONLY_FULL_GROUP_BY

sql_mode='STRICT_TRANS_TABLES を削除します,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_pISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITU TION'

4 。現在は正常です

関連チュートリアル:

mysql ビデオ チュートリアル

以上がMySQL 5.7 で group by ステートメントを使用すると 1055 エラーが発生するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。