地环境与线上环境出现问题不一致
MySQL不同版本SQL语法兼容问题
报错:MySQL-this is incompatible with sql_mode=only_full_group_by
今天在本地使用MySQL5.5
写了一个多表的查询 结果放服务器上报错MySQL-this is incompatible with sql_mode=only_full_group_by后来发现是服务器用的5.7版本的MySQL
mysql 5.7版本默认的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”,这个配置严格执行了"SQL92标准"。由于开启了ONLY_FULL_GROUP_BY的设置,所以如果一个字段没有在target list 和group by字段中同时出现,或者是聚合函数
的值的话,那么这条sql查询是被mysql认为非法的,会报错误。
当然解决方法很简单 你可以使用以下语句查询你的sql_mode
SELECT @@GLOBAL.sql_mode;
需要修改mysql配置文件,通过手动添加sql_mode的方式强制指定不需要ONLY_FULL_GROUP_BY属性,MySQL的配置文件my.cnf 位于etc文件夹下,
vi /etc/my.cnf
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
线上环境问题,运维部署服务器问题等
jdk版本,网络端口。
业务问题
我们在做完一个功能模块后甲方需求变动了,所以我们只能硬着头皮改代码,连续加班半个月,这个事情本来可避免的,如果我们最初能在和甲方对需求的时候能挖掘他们的潜在需求,早点给他们一些正确的需求建议,这个问题可能就不存在了。
兼容其问题
谷歌浏览器 selenium版本3,4。
手机模式,浏览器模式。