mysql5.7誤報のONLY_FULL_GROUP_BY解決

921 ワード


エラー:
ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'database_tl.emp.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
ああああ、泣きたくて、この問題に振り回されて、、、他のライブラリをインポートしても大丈夫だったので、インポートファイルに問題があって、いろいろ書き直して、インポートしていると断言しました...やっぱりダメです...クライアントに問題があるかもしれませんが、mysqlクライアントを交換してもだめです.気が狂いそうです.groupbyに基づいてクエリーフィールドがgroupby文に含まれていないと思っていましたが、この構文自体に問題があるのではないでしょうか.(ORACLEではそうでしたが)、mysqlがgroupbyの制限に互換性を提供していると誰が思っていますか.の(最近mysqlをあまり使わないことを許してください)、ああ、頭が痛くて、くだらないことはあまり言わないで、直接解決策に行きましょう.考えてみると、やはり頭が痛いです.
 
解決:
直接見つけてiniファイル,[mysqld]の下に以下の構成を追加します(もちろんmysqlサービスをオフにして、思わぬ問題が発生しないように、変更後mysqlサーバを再起動すればいいです)
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION