mysql常见问题记录。
报错的内容如下所示:
1055 Expression #8 of SELECT list is not in GROUP BY clause and contains nonaggregated column
一番查找以后,发现原来是因为mysql 5.7默认使用的sql_mode与5.6有所变化。mysql 5.7默认要求group by中的列一定要出现在select中。
建议修改sql_mode,写入数据库配置my.cnf中。
vim /etc/my.cnf
# [mysqld]段中添加以下内容,重启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
:wq
一般出现这个情况主要是MYSQL从5.6升级到5.7,还是sql_mode的问题,如果是迁移的老项目,还是建议修改sql_mode。
vim /etc/my.cnf
# [mysqld]段中添加以下内容,重启mysql
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
:wq
GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY 'admin' WITH GRANT OPTION;
flush privileges;
文章作者ianzhi,原文地址:https://cloud.tencent.com/developer/article/1476987
文章版权归作者所有,转载请保留此声明。