如何修复 #1366 - 不正确的字符串值:'\xE6\x10\x00\x00\x01\x01...'
How to fix #1366 - Incorrect string value: '\xE6\x10\x00\x00\x01\x01...'
我想将带有 postgresql 数据库的 GIS 应用程序转换为 mysql 8,我已将许多查询转换为 sql 查询。该应用程序可以 运行 但它不能显示许多空间功能。比如这个地方的风水之类的。 N 我需要输入这个地方的数据到 mysql 8. 所以,我尝试了手动输入 geom 的方法,在 phpmyadmin 中使用 lat long。
但是我第一次执行查询。
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');
出错了,
3617 - 纬度 100.348127 超出函数 st_geomfromtext 的范围。它必须在 [-90.000000, 90.000000].
范围内
我认为它的经纬度位置不对,所以我将其反转
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');
但还是报错
1366 - 字符串值不正确:第 1
列 'geom' 的“\xE6\x10\x00\x00\x01\x01...”
是否与列排序有关?
该列的排序规则是 utf8_general_ci.
如果不相关,可能是什么问题? n 我应该怎么做才能解决它?
我认为您正试图将 GEOMETRY
类型的值插入 TEXT
或 CHAR
类型的列中。
这没有多大意义,即使有效。 Geometry 未存储为您键入的文本,它被转换为内部二进制表示形式,应存储在 GEOMETRY
类型列中。否则你将无法用它做很多事情。
将列定义为 geom GEOMETRY SRID 4326
。
我想将带有 postgresql 数据库的 GIS 应用程序转换为 mysql 8,我已将许多查询转换为 sql 查询。该应用程序可以 运行 但它不能显示许多空间功能。比如这个地方的风水之类的。 N 我需要输入这个地方的数据到 mysql 8. 所以,我尝试了手动输入 geom 的方法,在 phpmyadmin 中使用 lat long。
但是我第一次执行查询。
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');
出错了,
3617 - 纬度 100.348127 超出函数 st_geomfromtext 的范围。它必须在 [-90.000000, 90.000000].
范围内我认为它的经纬度位置不对,所以我将其反转
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');
但还是报错
1366 - 字符串值不正确:第 1
列 'geom' 的“\xE6\x10\x00\x00\x01\x01...”是否与列排序有关? 该列的排序规则是 utf8_general_ci.
如果不相关,可能是什么问题? n 我应该怎么做才能解决它?
我认为您正试图将 GEOMETRY
类型的值插入 TEXT
或 CHAR
类型的列中。
这没有多大意义,即使有效。 Geometry 未存储为您键入的文本,它被转换为内部二进制表示形式,应存储在 GEOMETRY
类型列中。否则你将无法用它做很多事情。
将列定义为 geom GEOMETRY SRID 4326
。