- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个在 MySQL 5.6 上运行良好的存储过程。在最近的服务器迁移过程中,我们升级到了 MySQL 5.7.19。
我的存储过程现在抛出错误:
SELECT 列表的表达式 #1 不在 GROUP BY 子句中并且包含非聚合列“utility-monitor.daily_readings.building_id”,它在功能上不依赖于 GROUP BY 子句中的列;这与 sql_mode=only_full_group_by 不兼容:CALL monthly_readings(2017, 1, NULL, 1, 1))
我已经通过 /var/mysql/my.cnf
文件将 sql_mode
设置为 ""
,重新启动了 mysql 服务并通过控制台登录以确认 sql_mode
通过 SELECT @@sql_mode;
尽管如此,当我尝试运行我的存储过程时,我仍然收到上述错误。
接下来我该怎么做才能继续解决此错误的来源?
最佳答案
根据documentation , MySQL 使用创建过程时处于事件状态的 sql 模式:
MySQL stores the sql_mode system variable setting in effect when a routine is created or altered, and always executes the routine with this setting in force, regardless of the current server SQL mode when the routine begins executing.
因此重新创建过程(或所有过程,因为它可能不是唯一受影响的过程)并激活不同的模式(或修复 group by
语法)。 改变过程,虽然在文档中提到,但还不够。您应该考虑不要为此永久更改 sql 模式(尽管您可能还有其他不兼容的代码)。
关于mysql - 尽管 sql_mode 为空,但存储过程引发 "incompatible with sql_mode=only_full_group_by",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45560680/
在查询中发现 sql_mode=only_full_group_by 错误。我尝试了很多方法来修复它。更改了 sql_mode=''。但我仍然收到此错误。 PDOException: SQLSTATE
我不小心启用了 ONLY_FULL_GROUP_BY 模式,如下所示: SET sql_mode = 'ONLY_FULL_GROUP_BY'; 如何禁用它? 最佳答案 解决方案 1:从 mysql
这个问题已经有答案了: Error related to only_full_group_by when executing a query in MySql (18 个回答) 已关闭 5 年前。 我
数据库错误错误:SQLSTATE[42000]:语法错误或访问冲突:1055 SELECT 列表的表达式 #27 不在 GROUP BY 子句中,并且包含非聚合列“erp.CFPG.id”,该列在功能
请帮助我纠正 SQL 语法: SELECT DISTINCT kodemk, a.namamk, a.sks, IF( b.status='K', 0, a.smt ) as smt, a.k
我试图让下面的语句与 mysql v5.7.5 一起工作,尽管我真的完全不理解错误消息中的措辞,而且文档也没有帮助我。 有问题的 SQL 语句: SELECT YEARWEEK
我有一个带有 MySQL 服务器版本 5.7.27 的新 VPS 服务器。在这个新的 VPS 中,我上传了一个数据库和一些代码,这些代码是我从以前的服务器上获得的,该服务器具有较旧的 MySQL 服务
我在 MySQL 5.7.14 上遇到 ONLY_FULL_GROUP_BY 问题,即使我设置了 SQL 模式,我似乎也无法禁用它。 我已通过运行此命令将 @@sql_mode 设置为删除 ONLY_
我使用 mysqldump 并得到错误。在我的配置文件中,为 sql_mode 写入了属性,在 mysql 控制台全局和 session 属性中也类似。 [mysqld] sql_mode=IGNOR
我更新了 mysql,我从 MySQL 版本 5.6.17 升级到版本 5.7.14 因为我的 sql 查询有错误 的确,我的很多查询都是这样的: SELECT count (id) as nbr,
我不小心启用了这样的 ONLY_FULL_GROUP_BY 模式: SET sql_mode = 'ONLY_FULL_GROUP_BY'; 如何禁用它? 最佳答案 解决方案 1:从 mysql 控制
我正在将一些旧的 SS 2.4 代码升级到 SS4。执行以下查询时出现以下错误: 错误: Expression #1 of SELECT list is not in GROUP BY clause
我在数据库 mysql (5.7.21) 中有一个表,如下所示: +----------+--------------+-----------+-----------+| id_price | id_
版本:Plesk Onyx v17.8.11_build1708180301.19操作系统:Ubuntu 16.04.4 LTS 在我的日志中出现此错误: AH01071: Got error 'PH
我想要获取“订单”表中但不在“客户”表中的客户。 “快速订购”客户。我写了这个查询: SELECT `email`, `firstname` , `lastname`, `telephone`, `i
我有以下查询: SELECT f.flight_number, f.flight_date, f.airport, a.iata, a.iso3166 AS airport_country_code,
我有这个数据 1 => blue, 2 => red, 3 => red 我想要的是: [1, 2] 禁用 MySql 严格模式,或更具体地说,禁用 ONLY_FULL_GROUP_BY - 我可以做
我正在运行这个 SQL 语句: SELECT *, GROUP_CONCAT(contact) AS contact FROM table4, table3, table2, tab
我尝试将SQLAlchemy的group_by()函数与mysql+mysqlconnector引擎一起使用: rows = session.query(MyModel) \ .ord
SELECT DISTINCT `A/C#` AS `A/C#`, `MyRef` AS `MyRef`, DATEDIFF('2017-06-30', `Date`) AS
我是一名优秀的程序员,十分优秀!