MySQL为什么不接受GEOMETRY列的WKT值?

时间:2018-08-01 17:43:39

标签: mysql geospatial

我正在尝试转换此简单的WKT多点值以存储在MySQL数据库的GEOMETRY列中

select ST_GeomFromText('MULTIPOINT ((-72.92788350000001 41.308274), (-72.996283 41.355198))');

它返回null。我不知道为什么-WKT本身似乎是有效的,例如,如果您在https://arthur-e.github.io/Wicket/sandbox-gmaps3.html上查看它

那么MySQL方面的局限性是什么?如何解决呢?谢谢。

这很重要,这是在MySQL 5.6上。

1 个答案:

答案 0 :(得分:2)

似乎5.6的MySQL版本使用其他WKT格式。

在MySQL 5.6中,您需要使用MULTIPOINT (-72.92788350000001 41.308274, -72.996283 41.355198)而不是MULTIPOINT ((-72.92788350000001 41.308274), (-72.996283 41.355198))

MySQL版本5.6.40
参见演示
https://www.db-fiddle.com/f/mddtN7MBTwPmKz1UoDMqVA/8

MySQL 8.0.11版
为了验证结果也很好,MYSQL 5.6 WKT格式也可以在较新的MySQL版本中使用。
参见演示
https://www.db-fiddle.com/f/mddtN7MBTwPmKz1UoDMqVA/11

还有MULTIPOINT (-72.92788350000001 41.308274, -72.996283 41.355198)MULTIPOINT ((-72.92788350000001 41.308274), (-72.996283 41.355198))https://arthur-e.github.io/Wicket/sandbox-gmaps3.html上都给出相同的观点