错误原因:在MySQL5.7之后,sql_mode中默认存在ONLY_FULL_GROUP_BY,SQL语句未通过ONLY_FULL_GROUP_BY语义检查所以报错。
一劳永逸:设置sql_mode
可以通过修改配置文件的方式设置sql_mode,这样在数据库重启之后sql_mode的值也不会改变。
首先找到my.ini文件。
开该文件,在 [mysqld] 下面加上:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION