即使禁用了严格模式,我在运行存储过程时仍收到错误1055
在带有MySQL 5.7.26的Ubuntu19.04上,我尝试了my.cnf中sql-mode的每种选项组合,并设置了所有有意义的全局模式。只包括sql-mode = '',但它仍然表现得好像严格模式是打开的。
mysql> SHOW VARIABLES LIKE 'sql_mode';
| Variable_name | Value
| sql_mode | IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION或者甚至在sql-mode为空的情况下
mysql> SHOW VARIABLES LIKE 'sql_mode';
| Variable_name | Value |
| sql_mode | |我得到的错误是only_full_group_by仍然开着...
mysql> CALL getReadyToInvoiceOrders(480,-1,-1,'','','','','','');
ERROR 1055 (42000): Expression #14 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'axistms_transport_local.BPBCR.currentAwardedID' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by您可以看到"STRICT_TRANS_TABLES“和"ONLY_FULL_GROUP_BY”已被删除,但错误1055仍然存在
发布于 2019-06-27 03:45:56
删除子句ONLY_FULL_GROUP_BY:
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));对于版本5.7 MySQL中的sql_mode,默认设置为ONLY_FULL_GROUP_BY、NO_AUTO_CREATE_USER、STRICT_TRANS_TABLES、NO_ENGINE_SUBSTITUTION
https://stackoverflow.com/questions/56779934
复制相似问题