我想把一个有postgresql数据库的GIS应用转换为mysql 8,我已经把很多查询转换为sql查询了。像一个geom的地方,等等。N我需要输入数据的地方到mysql 8。所以,我已经尝试手动方法输入geom,与纬度长在phpmyadmin。
但我第一次执行查询时。
INSERT INTO `restaurant`(`name`, `address`, `open`, `close`, `price`, `description`, `geom`, `id`) VALUES ('Ajo Paris', 'Jl. S. Parman No.126','' ,'' ,'15000' ,'' , ST_GeomFromText('POINT(100.3481273 -0.9175653)', 4326 ), 'R0001');
但第一次执行查询时,就出现了错误。
我认为它的经纬度位置不对,所以我把它反过来了。
INSERT INTO `restaurant`(`name`, `address`, `open`, `close`, `price`, `description`, `geom`, `id`) VALUES ('Ajo Paris', 'Jl. S. Parman No.126','' ,'' ,'15000' ,'' , ST_GeomFromText('POINT(-0.9175653 100.3481273)', 4326 ), 'R0001');
但它仍然是错误的
这可能与列的整理有关吗?列的整理是utf8_general_ci。
如果没有关系,那可能是什么问题呢,我应该怎么解决呢?
我想你是想插入 GEOMETRY
类型的值到一列类型的值 TEXT
或 CHAR
.
这并没有多大意义,即使工作。几何图形不是以你输入的文本形式存储的,它被转换为内部二进制表示,应该存储在 GEOMETRY
类型化的列。否则你将无法对其做太多的处理。
将列定义为 geom GEOMETRY SRID 4326
.