mysqlが5.7にアップグレードされた後groupbyエラー分析
704 ワード
ONLYを見てFULL_GROUP_BYの意味は、GROUP BYの集約操作について、SELECTの列がGROUP BYに現れていない場合、このSQLは合法的ではありません.列はGROUP BYの従文ではありません.つまり、調べた列はgroupbyの後ろに現れなければならないので、このフィールドが集約関数に現れない限り、エラーが発生します.例えば、select a,b,c from table where 1=1 group by a,b,c(正しい)またはselect a,b,max(c)from table where 1=1 group by a,b(正しい)解決方法1:sql仕様を変更する解決方法2:
1、 :select @@GLOBAL.sql_mode;
2、 my.cnf , 。
:
sql_mode='NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES'
3、 mysql 。