我工作的一個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'? –