У меня есть объект string
, представляющий многоугольник в шестнадцатеричном формате, и я хочу сохранить его в базе данных mysql
. Я использовал `` как описано здесь . Вот метод, который я использовал для генерации многоугольника:
func GetPolygon(coordinates [][]geom.Coord) (string, error) {
unitSquare := geom.NewPolygon(geom.XY).MustSetCoords(coordinates)
polygon, err := wkb.Marshal(unitSquare, wkb.NDR)
if err != nil {
fmt.Printf("wkb marshal error: %s\n", err.Error())
return "", err
}
polygonHex := hex.Dump(polygon)
return polygonHex, nil
}
И вот как я генерирую свой запрос:
insertQuery := fmt.Sprintf(`INSERT INTO my_table (polygon) VALUE (ST_GeomFromWKB(X'%v'))`, poly)
Но когда я выполняю запрос, я получаю:
Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'X'00000000 01 03 00 00 00 01 00 00 00 92 00 00 00 ff ff ff |................|' at line 1