项目迁移中 遇到的MySQL问题
两个问题都是数据库迁移导致的
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 备份数据库后恢复备份,出现了此问题。查询函数详细信息,可见所有者信息
解决办法
复制函数的创建语句 删除所有者信息,重新执行 问题解决
分类:
mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端