mysql最新版与mysql5.6的兼容问题
2024-09-13 15:08:31
最近公司在给别的企业打了一个项目,在公司本地使用的是mysql 5.6,但是搭建的项目的mysql版本是最新版5.7以后吧,所以有些sql在执行上出了一点问题
目前发现的是:
1:
在5.6版本下先order by 再group by 会取order by之后的数据的第一条,但是在5.7版本下mysql会自动优化,忽略order by 条件,直接分组查询。
解决方案:在order by 后面加上limit 1000
例子:全部数据如下
在5.6版本情况下在这种情况分组可以发现是分组之后排序:
在mysql5.7版本情况下排序是被直接优化忽略掉的
解决方法加上红框中任意一句话,达到预期
2:
5.6版本下是可以更新或者插入表数据时使用子查询 插入或者更新的,但是在5.7版本下会出现 You can't specify target table 'kq_worker' for update in FROM clause 的错误,需要在把子查询的数据再select之后再插入
最新文章
- JavaScript 对数据处理的5个API
- 第一次react-native项目实践要点总结
- C++/CLI——读书笔记《Visual C++/CLI从入门到精通》 第Ⅳ部分
- [推荐]Bitnami 开源软件包安装解决方案
- 解决NetworkOnMainThreadException
- 获取Android系统时间
- Ant学习实例
- sequence1(暴力)
- scala可变var与不可变val的理解
- python绝对路径和相对路径
- awt
- Aho-Corasick automaton(AC自动机)解析及其在算法竞赛中的典型应用举例
- java基础知识总结(二)
- 完美解决Linux服务器tomcat开机自启动问题
- Keepalived高可用集群
- js模拟自动点击事件
- 解决bootstrap和jquey中的.button扩展冲突的问题。
- composer安装第三方的库packagist.org(laravel框架引入第三方库)
- java垃圾回收期如何工作(编程思想)
- Linux GNU C