Mysql OFF ONLY_FULL_GROUP_BY

735 ワード

バグ原因:
GROUP BY集約操作の場合、SELECTの列がGROUP BYに表示されない場合、このSQLは、列がGROUP BY従文にないため、合法ではありません.簡単に言えば、SELECTの後に続く列はGROUP BYの後に続く列に含まれなければならない.例えば、select a,b from table group by a,b,c;(正しい)select a,b,c from table group by a,b;(エラー)この構成はGROUP BY文環境を非常に狭くするので、一般的にはこの構成は付けません.mysqlがONLYをオンにしているかどうかを確認します.FULL_GROUP_BY select @@global.sql_mode戻り値にONLY_が含まれている場合FULL_GROUP_BY、それではmysqlがONLY_を開いたことを説明しますFULL_GROUP_BY.
解決方法:
戻り値のONLY_を削除FULL_GROUP_BY、残りの戻り値をコピーしてmysqlのiniプロファイルを開き、コピーしたプロファイルを[mysqld]の後ろのsql_に追加mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’は、一重引用符で囲むように注意してください.次にmysqlサービス特別説明を再起動します:mysql停止/再起動コマンド
win 
net stop mysql
net start mysql