繁体   English   中英

MySQL将系统函数调用解释为架构函数调用(错误代码1305:该函数不存在)

[英]MySQL interprets system function call as schema function call (Error Code 1305: Function does not exist)

我的问题是MySQL将我的函数调用检测为本地模式存储过程调用之类的东西。 我不确定如何明确指定这是MySQL系统功能(否则应如何更改SQL)。

我的SQL代码是:

set @p = GeomFromText('POINT(32.8303610 34.9743380)');
select OBJECTID FROM demog_yishuv_stat08_publish
where ST_Contains(demog_yishuv_stat08_publish.Shape, @p);

我得到的答复是:

Error Code: 1305. FUNCTION mySchema.ST_Contains does not exist

但是, ST_Contains是一个MySQL函数,未在mySchema中定义。 这是 ST_CONTAINS 的文档

任何帮助:非常感谢!

确保您使用的是MySQL 5.6.1或更高版本。 在5.6.1中添加了ST_Contains。 从您引用的文档中:

从MySQL 5.6.1开始,可以使用使用精确对象形状的相应版本。 这些版本以ST_前缀命名。 例如,Contains()使用对象边界矩形,而ST_Contains()使用对象形状。

MySQL的早期版本提供了一个Contains函数,该函数使用两个几何的MBR(而不是它们的确切形状)进行测试。 如果您无法升级MySQL,这可能对您有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM