mysql5.7の上でsql_mode = only_full_group_byを解決します

同じ複雑なクエリsqlが5.7バージョンのmysqlで実行され、エラーが報告されました。5.1バージョンでは正常に実行できます。

提示:…sql_mode = only_full_group_by

解決する

1.後で作成されるデータベースのsql_modeを解決する

select @@sql_mode;

set sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

ここに画像の説明を挿入

2.現在のデータベースsql_modeをここで解決します

データベースが作成され、開発で使用されている場合。次のパスワードを実行する必要があります。

##切到具体数据库
use  dbName;

select @@sql_mode;

set sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

ここに画像の説明を挿入

3.上記の2つの方法がまだ解決されない場合は、グローバル変数を設定します

@@ GLOBAL.sql_mode;を選択します。

set @@ GLOBAL.sql_mode = '';
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/u010312671/article/details/107086998