Я попытался вставить данные в точку() тип данных столбца из PHP так:Вставка пространственных данных в базу данных MySQL
INSERT INTO table (coordinates) VALUES ("48.20 14.80");
или
INSERT INTO table (coordinates) VALUES ("POINT(48.20 14.80)");
И тогда я применил спусковые перед каждой вставки или обновления :
BEGIN
SET @lat = SUBSTRING(NEW.coordinates, 1, LOCATE(' ', NEW.coordinates));
SET @lng = SUBSTRING(NEW.coordinates, LOCATE(' ', NEW.coordinates) + 1);
SET @coor = PointFromWKB(POINT(@lat, @lng));
SET NEW.coordinates = @coor;
END
или
BEGIN
SET NEW.coordinates = GEOMFROMTEXT(NEW.coordinates);
END
Но он возвращает:
SQLSTATE[22003]: Numeric value out of range: 1416 Cannot get geometry object from data you send to the GEOMETRY field
Кто-нибудь из вас знает, в чем проблема? Благодарю.
проверить тип данных координат – Gulshan