代码之家  ›  专栏  ›  技术社区  ›  Dan

为什么MySQL不接受几何列的wkt值?

  •  0
  • Dan  · 技术社区  · 7 年前

    我正在尝试将这个简单的wkt多点值转换为存储在mysql数据库的geometry列中。

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

    它返回空值。我不明白为什么-例如,如果你在 https://arthur-e.github.io/Wicket/sandbox-gmaps3.html

    那么,MySQL方面的限制是什么,我如何才能绕过它呢?谢谢。

    这是MySQL5.6上的内容,如果这很重要的话。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Funk Forty Niner    7 年前

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

    在MySQL5.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

    阿尔索 多点(-72.92788350000001 41.308274,-72.996283 41.355198) 多点((-72.92788350000001 41.308274),(-72.996283 41.355198)) 两者都给出了相同的观点 https://arthur-e.github.io/Wicket/sandbox-gmaps3.html