我工作的一个Java项目,在这里我们使用它的SQL库函数从MySQL服务器访问和查询。MySQL的MBRContains声明扔MySQLExceptionError
引发此问题的代码是:
String setBox = "SET @box =
'Polygon((" + lx + " " + ry + ","
+ rx + " " + ry + ","
+ lx + " " + ly + ","
+ rx + " " + ly + ","
+ lx + " " + ry + "))';\n";
ResultSet regionResult = stmt.executeQuery(setBox +
"SELECT ItemID FROM ItemPoint WHERE MBRContains(GeomFromText(@box), Coords);\n");
出现的错误在第二个语句(ResultSet中regionResult = ...)
我收到的错误是:
“ com.mysql.jdbc.exception.jdbc4.MySQLSyntaxErrorException:您的SQL语法错误;检查对应于您的MySQL服务器版本正确的语法,靠近用户的“选择项ID FROM ItemPoint WHERE MBRContains((GeomFromText(手动@盒子),坐标)在第2行“
我不知道为什么有一个语法错误,因为我立足其关闭:http://dev.mysql.com/doc/refman/5.5/en/using-spatial-indexes.html。
我的MySQL服务器的版本是:5.5.40-0ubuntu0.14.04.1(Ubuntu的)
如何定义这个对象:'Polygon'? –