如何在mySQL表中插入点

问题描述 投票:1回答:1

我收到一条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'))
mysql geometry point mysql-spatial
1个回答
1
投票

根据specification of ST_geomFromText()geomfromtext()是一个弃用的同义词,你不应该使用它):

如果geometry参数是NULL或不是语法上格式良好的几何,或者如果SRID参数是NULL,则返回值为NULL

实际上,你的论证在语法上不是很好,因为每个坐标包含两个点。您可以通过以下方式检查:

select geomfromtext('Point(10.20.45 34.23.79)')

结果(try online):

(空值)

使用单个点,它可以工作:

select geomfromtext('Point(10.2045 34.2379)')

结果(true online

Aiibaihibiobroz:129 Abscix 5 Bakya ==

这同样适用于ST_PointFromText((),除了你仍然需要使用the WKT format所以你需要使用POINT()

select pointfromtext('point(10.2045 34.2379)')

结果(try online):

Aiibaihibiobroz:129 Abscix 5 Bakya ==

基本上这两个函数是相同的,除了pointfromtext()强制执行点结果。

© www.soinside.com 2019 - 2024. All rights reserved.