1つは、エラーの理由です
MySQL5.7.5以降、only_full_group_byがsql_modeのデフォルトオプションの1つになり、一部のSQLステートメントが失敗する可能性があります。
たとえば、group byをグループクエリに使用すると、エラーが報告されます
二、解決策
1.sql_modeを変更します
-- 查询
select @@global.sql_mode
-- 修改
set @@sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
上記は、新しく作成されたデータベースに有効なグローバルsql_modeを変更するためのものです。
2.既存のデータベースの場合
set sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
このように、データベースの再起動後に設定が無効になります。これは確かに当てはまります。上記の方法は、メモリ内の値を変更するだけであり、永続的に変更することはできません。
3.元の構成レコード
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
4.新しい構成レコード
違い:ONLY_FULL_GROUP_BYが削除されます
STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
5.それがAlibabaCloud RDSの場合は、新しい構成に変更します
-
変更する
-
参加する
-
上記のコンテンツの一部は、Ant Classroomhttp ://www.mayikt.com/からのものです。
-
パーソナルオープンソースプロジェクト(ユニバーサルバックグラウンド管理システム)–> https://gitee.com/wslxm/spring-boot-plus2、必要に応じてチェックアウトできます
-
これでこの記事は終わりです。お役に立てば幸いです。気に入ったり、注目したりしてください。今後もコンテンツを更新していきます...ご覧いただきありがとうございます。