sql error :3065
抛出的异常为:Expression #1 of ORDER BY clause is not in SELECT list, references column 'zybx.appbizbd0_.BXZQ' whi
今天在转移环境的时候遇到这么个问题。在windows下运行都是ok的,然后放到Ubuntu下就报错了。由于代码一致,所以直接忽略代码查看。mysql在windows下的版本为5.6,unbuntu下的版本为5.7。问题就出在这里。
之前用的一直是5.6之前的版本,不知道5.7的区别,查了网上的资料才知道5.7比5.6严格很多,解决方案是关闭strict mode。
方法如下(仅linux下):
编辑mysql的配置文件(路径可能不一样,按你自己的来)
vi /etc/mysql/my.conf
加上最后那行
sql-mode= NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
然后重启mysq查看生效。(实际情况可能千变万化,好好研究肯定能解决)