两个问题都是数据库迁移导致的
1.Expression #16 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sanghe.a.contract_no' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by]
改问题是sql_mode配置,sql_mode=ONLY_FULL_GROUP_BY导致的,查询sql_mode的配置
select @@global.sql_mode
查看结果中是否有 ONLY_FULL_GROUP_BY 删除即可 或重新配置
set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION‘
参考 解决MySQL5.7版本之后使用GROUP BY语句时报错
2.The user specified as a definer (‘skip-grants user‘@‘skip-grants host‘) does not exist
‘skip-grants user‘@‘skip-grants host 不存在
MySQL中表是没有所有者的 只有函数 触发器等菜存在所有者 此次数据库迁移使用方式是 navicat 15 备份数据库后恢复备份,出现了此问题。查询函数详细信息,可见所有者信息
解决办法
复制函数的创建语句 删除所有者信息,重新执行 问题解决
标签:GROUP,遇到,skip,MySQL,NO,grants,mode,sql,迁移 From: https://www.cnblogs.com/cy0523/p/16982104.html