mysql - 如何在 mySQL 表中插入点
问题描述
我收到一条 mySQL 错误,提示“ADDRESS_LONGI_LATIT_LOCATION”不能为空。'geomfromtext/pointfromtext' 可能返回 null。这里有什么问题?任何帮助表示赞赏。
INSERT INTO address (ADDRESS_NICKNAME,ADDRESS_LONGI_LATIT_LOCATION)
VALUES ('Testing',geomfromtext('Point(10.20.45 34.23.79)'))
另一种方式
INSERT INTO address (ADDRESS_NICKNAME,ADDRESS_LONGI_LATIT_LOCATION)
VALUES ('Testing',pointfromtext('10.20.45 34.23.79'))
解决方案
根据(是不推荐使用的同义词的规范ST_geomFromText()
geomfromtext()
,您不应使用它):
如果几何参数是
NULL
或不是语法格式正确的几何,或者如果 SRID 参数是NULL
,则返回值为NULL
。
实际上,您的论点在语法上不是格式正确的,因为每个坐标都包含两个点。你可以用一个简单的方法来检查:
select geomfromtext('Point(10.20.45 34.23.79)')
结果(在线尝试):
(无效的)
只需一个点,它就可以工作:
select geomfromtext('Point(10.2045 34.2379)')
结果(真实在线)
AAAAAAEBAAAAYhBYObRoJED129eBcx5BQA==
这同样适用于ST_PointFromText(()
,除了您仍然需要使用WKT 格式,因此您还需要使用POINT()
:
select pointfromtext('point(10.2045 34.2379)')
结果(在线尝试):
AAAAAAEBAAAAYhBYObRoJED129eBcx5BQA==
基本上这两个函数是相同的,除了pointfromtext()
强制一个点结果。
推荐阅读
- discord - 获取机器人正在服务的成员和服务器的数量
- python - 使用python将.jpg传输到android手机
- amazon-web-services - 运行 PySpark 时 AWS EMR 上的代码失败
- javascript - 如何在 React 中屏蔽输入 IP 地址
- angular - 错误 TS2339:“PostsComponent”类型上不存在属性“addForm”
- r - R中的“extRemes”包错误:无法绘制返回期
- python - 如何使用 json_normalize() 进行迭代?
- python - Firebase 多项目上传不起作用
- ssis - 将 mysql 500 万行迁移到 Microsoft SQL Server
- ios - 在 swiftUI 中从领域中删除对象会出现错误“对象已被删除或无效。”