如何解决MySql:更新几何点
我正在努力寻找一个看似简单而直接的场景。 我在MysqL数据库的表中定义了一个几何字段:
CREATE TABLE `mytable` (
`id` char(38) NOT NULL,`checkin_location` geometry DEFAULT NULL,PRIMARY KEY (`id`),) ENGINE=InnoDB DEFAULT CHARSET=utf8;
现在要进行测试,我正在执行以下简单语句:
update mytable set checkin_location = Point(50.8,4.44)
我收到绿色成功消息,告诉我1条记录已受到影响。 (表中目前我只有1条记录。)
但是当我执行select * from mytable
时,该行返回的checkin_location
字段仍为NULL
:更新语句似乎(静默地)失败了。
一般来说,我是MysqL的新手。任何帮助将不胜感激
解决方法
空间类型必须为正确的类型,当您尝试选择它们时,也要寻找空间索引
模式(MySQL v8.0)
CREATE TABLE geom (Id int,checkin_location GEOMETRY NULL,g POINT NULL);
INSERT INTO `geom` VALUES (1,NULL,NULL);
UPDATE `geom` set
checkin_location = ST_GeomFromText('POINT(50.8 4.44)'),g = POINT(50.8,4.44) WHERE id = 1;
查询#1
SELECT * FROM `geom`;
| Id | checkin_location | g |
| --- | -------------------- | ------------------- |
| 1 | {"x":50.8,"y":4.44} | {"x":50.8,"y":4.44} |
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。