我正在MySQL上使用数据类型几何。我尝试从页面查询。我得到了错误。
如何解决?你能帮忙吗?
此处错误:
"执行时发生异常">
SELECT t.`road_id`, t.`road_ref_num`, t.`chainage`, t.`road_name`,
ST_AsGeoJSON(ST_Transform(t.`road_wkt`, ?::int)) as geom
FROM gis_ruralroads_t1 t
WHERE (t.road_ref_num LIKE ?)
AND (ST_Transform(ST_SetSRID(ST_MakeBox2D(ST_Point(?, ?),
ST_Point(?, ?)), ?), ST_Srid(t.`road_wkt`)) && t.`road_wkt`
)
带参数 [32648, "%0806T1001%", 5579.905, 1088581.723, 1029359.857, 1650396.77, 32648]
SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;请查看与您的 MariaDB 服务器版本对应的手册,了解在 '::int( 附近使用的正确语法(作为 gis_ruralroads_t1 T Where (t.road_ref_num 如第 1 行的 'x0806T1001%' 的几何">
最好 洛伊
它正指向::int
。 MySQL没有任何这样的语法。 只需删除这 5 个字符即可。
通常,您可以相信整数将被正确替换,即使添加了引号:
ST_Transform(t.`road_wkt`, ?)
替换后变成这样:
ST_Transform(t.`road_wkt`, '32648')
撇号不会受伤。