文档解释
Error number: 4107; Symbol: ER_SRS_UNUSED_PROJ_PARAMETER_PRESENT; SQLSTATE: SR002
Message: The spatial reference system definition for SRID %u contains unused projection parameter “%s”.
错误说明
MySQL错误4107,即ER_SRS_UNUSED_PROJ_PARAMETER_PRESENT指示存在无用的投影参数(projection parameters),但未使用它们。此报错中,术语“投影”指的是在框架内表的布局,这些表示把表中的数据映射为要查询的元素,其中一些可用于比较和分组查询。
常见案例
此错误通常在使用MySQL V8.0,并使用JSON格式查询数据时发生。当用户向语句中添加参数来投影查询结果时,但这些参数未被使用,就会发生此错误。在其他情况下,当用户使用外部函数通过SELECT语句时,此错误也可能发生。例如,以下查询可能会导致此错误:
SELECT
col1,
col2,
JSON_EXTRACT(col3,”$.foo”)
FROM table_name
解决方案
解决此错误的最佳方法是确保所有传递给MySQL的参数都是必需的。如果不是必需的,就应该删除它们,以避免发生此错误。有时,用户也可能需要添加*号,以选择所有字段,以满足MySQL语句的格式和要求。
在很多情况下,用户也可以尝试使用GROUP BY语法,而不是PROJECT引擎,来解决此错误。例如,考虑下面的查询,该查询可以替换成GROUP BY来解决:
SELECT
col1,
col2,
JSON_EXTRACT(col3,”$.foo”)
FROM table_name
可以替换为:
SELECT col1, col2, JSON_EXTRACT(col3,”$.foo”)
FROM table_name
GROUP BY col1, col2;
尽管只有在使用JSON查询时,GROUP BY 可以解决此错误,但其他情况下,此方法可能不管用。此外,如果此错误发生在MySQL函数中,用户可以尝试将它们移动到外部函数中,以避免此错误。
一般来说,检查查询以确保每个参数都是必需的,并确保每个参数只有在需要时才被使用,可以有效解决此类错误。同时,内部函数可以有效防止此错误。
香港美国云服务器首选树叶云,2H2G首月10元开通。
树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/268540.html<

