ホームページ  >  記事  >  データベース  >  mysql5.7 がエラー 1055 を報告した場合はどうすればよいですか?

mysql5.7 がエラー 1055 を報告した場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2020-10-26 09:05:012823ブラウズ

Mysql5.7 エラー 1055 の解決策: まず my.cnf 設定ファイルを見つけて開き、次に「only_full_group_by」項目を削除するか、mysql コマンド ラインを開いてコマンド「select @@sql_mode」を実行します。できる。

mysql5.7 がエラー 1055 を報告した場合はどうすればよいですか?

推奨: 「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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。