将坐标插入 MySQL - PolyFromText SQL 语法错误/返回 null

2024-05-06

我正在尝试将多边形的地理坐标插入到我的 MySQL 数据库中。我有一个名为 POLYGON 类型的 Polygon 字段,并且我已尝试运行所有这些查询,但仍然出现 SQL 语法错误:

SET @g = 'POLYGON((-74.13591384887695 40.93750722242824,-74.13522720336914 40.929726129575016,-74.15102005004883 40.9329683629703,-74.14329528808594 40.94256444133327))';
INSERT INTO 'zones' ('polygon') VALUES (PolyFromText(@g));

INSERT INTO 'zones' ('polygon') VALUES (PolyFromText('POLYGON((-74.13591384887695 40.93750722242824,-74.13522720336914 40.929726129575016,-74.15102005004883 40.9329683629703,-74.14329528808594 40.94256444133327))'));

INSERT INTO 'zones' ('polygon') VALUES (PolyFromText('POLYGON((-74.13591384887695 40.93750722242824,-74.13522720336914 40.929726129575016,-74.15102005004883 40.9329683629703,-74.14329528808594 40.94256444133327))', 0));

最后一个查询是使用 phpmyadmins 自己的地理空间工具生成的,并返回“列‘多边形’不能为空”。任何帮助表示赞赏!


原因是因为最后一个点的null值不等于第一个点,是满足OSGeo标准WKT的一个条件,在某些实现中这是允许的,但是mysql对此有严格要求,在SQL Server文档中更好地解释了状况。

看到这个

SELECT  Dimension(GeomFromText('POLYGON((-74.13591384887695 40.93750722242824,-74.13522720336914 40.929726129575016,-74.15102005004883 40.9329683629703,-74.14329528808594 40.94256444133327,-74.13591384887695 40.93750722242824)))'));

mysql 的文档

http://dev.mysql.com/doc/refman/5.0/en/gis-class-polygon.html http://dev.mysql.com/doc/refman/5.0/en/gis-class-polygon.html

sql server 的文档

http://msdn.microsoft.com/en-us/library/bb964739(v=sql.105).aspx http://msdn.microsoft.com/en-us/library/bb964739(v=sql.105).aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将坐标插入 MySQL - PolyFromText SQL 语法错误/返回 null 的相关文章

  • 当有“拥有”时,为什么你有“哪里”[重复]

    这个问题在这里已经有答案了 我知道这个问题已经被讨论了很多 但我的研究都无法让我相信 where and havingMySQL 中的 子句 据我了解 我们可以使用 where 子句实现所有可以完成的操作having 例如 select f
  • 当我在 MySQL 中使用 UUID 作为主键时,会如何影响性能

    我想知道当我在 MySQL 中使用 UUID 作为主键时 会对服务器的性能产生怎样或多大的影响 我想你正在使用InnoDB 无论如何你应该 因此 请阅读 高性能 MySQL 2ed 第 117 页中的以下章节 一般来说 从性能的角度来看 U
  • 对不同的数据库和表进行一次性查询

    我有一个 Rails 应用程序 侧面有一个 WordPress 博客 完全单独位于 blog 客户想要 Rails 应用程序主页上的最新博客文章 因此我需要对 word press 数据库进行一次性 mysql 查询 我将如何在 Rails
  • 使用 PHP MySql 进行关键字搜索?

    我的 mysql 表中有标题 varchar 描述 text 关键字 varchar 字段 我保留了关键字字段 因为我认为我只会在这个字段中搜索 但我现在需要在所有三个字段中进行搜索 所以对于关键字 word1 word2 word3 我的
  • 计算移动的球与移动的线/多边形碰撞的时间(2D)

    我有一个多边形 里面有一个移动的球 如果球撞到边界 它应该反弹回来 My current solution I split the polygon in lines and calculate when the ball hits the
  • Python中的MariaDB连接器无法连接到远程服务器

    我使用与远程 Mariadb 服务器的连接已有几个月了 今天 无法再通过 macOS 上的 python mariadb 模块和 mariadb 连接器建立连接 基本安装如下 brew install mariadb connector c
  • Django 迁移错误 'TypeError: 序列项 1: 需要一个类似字节的对象,在 mysql-connector-pythoncursor_cent.py 文件上找到 str'

    我正在 Django 项目中使用 mysql connector 来处理 mysql 请求 问题是我正在使用 django admin startproject project 设置一个简单的项目 当我尝试进行简单的管理 py 迁移时 这是
  • PDO 从表中获取一列到一维数组中

    我对 PDO 和让它们与 MySQL 一起工作还很陌生 我似乎在插入新数据和检索单个结果方面进展顺利 但是我坚持了下来 我有一张由配料组成的桌子 我试图将所有配料放入一个数组中 我已经直接在 SQL 中运行查询 它显示了所有结果 但是使用
  • MySQL 存储浮点数

    我正在尝试保存这么长的浮点数 13 00386644742523 它基本上是 Lat 和 Lng 值 当我将它保存在数据库中时 它被存储为 13 0039 您应该明确使用精度并且类型应该是DECIMAL NOT FLOAT因为小数点后的每一
  • PHP Microsoft Excel 文件生成/导出类

    我一直在寻找一个好的 Excel 文件生成类 但还没有找到 我的首要问题是 虽然我可以在 Excel 中打开导出的文件 运行 2007 年 但我总是收到一条警告 文件的格式与文件扩展名不同 我注意到 phpMyAdmin 中的 Excel
  • 快速计算三角形与单位正方形的交面积

    在我当前的项目中 我需要计算无限网格中三角形和单位正方形的交集面积 对于每个三角形 由三对浮点数给出 我需要知道面积 在区间内 0 1 它与它相交的每个正方形都有共同点 现在我将两者 三角形和正方形 转换为多边形并使用Sutherland
  • 尝试通过 JDBC 将 UTF-8 插入 MySQL 时出现“错误的字符串值”?

    这就是我的连接设置方式 Connection conn DriverManager getConnection url dbName useUnicode true characterEncoding utf 8 userName pass
  • PHP mysql 选择连接

    我有这个功能 以某种形式显示自动建议 function searchbyId params input strtolower params input len strlen input limit isset params limit in
  • 在 PHP / MySQL 中处理未读帖子

    对于个人项目 我需要使用 PHP 和 MySQL 构建一个论坛 我不可能使用已经构建的论坛包 例如phpBB 我目前正在研究构建此类应用程序所需的逻辑 但这已经是漫长的一天了 我正在努力解决为用户处理未读帖子的概念 我的一个解决方案是有一个
  • 设置 MySQL 触发器

    我听说过有关触发器的事情 我有几个问题 什么是触发器 我该如何设置它们 除了典型的 SQL 内容之外 是否还应该采取任何预防措施 触发器允许您在发生某些事件 例如 插入表 时在数据库中执行某个功能 我无法具体评论mysql 注意事项 触发器
  • 土耳其语字符显示不正确[重复]

    这个问题在这里已经有答案了 MySql 数据库使用 utf 8 编码 数据存储正确 我使用 set name utf8 查询来确保调用的数据是 utf 8 编码 只要标头字符集是 utf 8 数据库中的所有变量都可以正常工作 但静态html
  • 如何列出允许登录mysql的ip?

    我知道使用下面的命令 可以允许远程IP登录MySQL GRANT select insert update delete ON TO root my ip IDENTIFIED BY my password FLUSH PRIVILEGES
  • MAMP Pro mysql 无法启动

    我遇到问题无法找到解决此问题的方法 我收到这个错误 2017 01 11 23 58 25 7fffbac563c0 InnoDB Operating system error number 2 in a file operation In
  • 最佳实践:在 PHP 中导入 mySQL 文件;分割查询

    我遇到了一种情况 我必须更新共享托管提供商上的网站 该网站有一个 CMS 使用 FTP 上传 CMS 文件非常简单 我还必须导入一个大的 相对于 PHP 脚本的范围 数据库文件 未压缩时大约 2 3 MB Mysql 已关闭 无法从外部访问
  • MYSQL sum() 计算不同的行

    我正在寻求在 SQL 查询中使用 sum 的帮助 SELECT links id count DISTINCT stats id as clicks count DISTINCT conversions id as conversions

随机推荐