【发布时间】:2018-05-17 08:38:54
【问题描述】:
我在 MySQL 5.7.14 上遇到了 ONLY_FULL_GROUP_BY 问题,即使我设置了 SQL 模式,我似乎也无法禁用它。
我已通过运行以下命令将@@sql_mode 都设置为删除 ONLY_FULL_GROUP_BY:
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
我还更新了 my.cnf 文件,通过设置 sql-mode 参数将其排除在外。
如果我运行 select @@sql_mode,我可以看到 ONLY_FULL_GROUP_BY 不再设置。
但是,当我运行我的存储过程时,我仍然收到此错误:
1055 Expression #1 of SELECT list is not in GROUP BY clause and contains
nonaggregated column 'product_id' which is not functionally dependent on
columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
我在这里缺少什么? SP会忽略sql-mode吗?
我不想修改 SP 代码,因为它是从 3rd 方模块(用于 Magento)安装的,如果我们想升级,那会导致问题。
这是在我的本地开发服务器的 WAMP 上。
【问题讨论】:
标签: php mysql magento stored-procedures