2017-04-21 34 views
0

我有一個點列,現在我不想讓它們用與GeomFromText(POINT(45.713958 14.209463))一起計算的點值填充它。如何我曾經不斷收到這個錯誤,我不知道該怎麼做:在地理座標的點列中插入點值時出現錯誤

無法從數據幾何對象發送到幾何領域

這是我的SQL查詢

INSERT 
INTO 
    `locations`(
    `unique_id`, 
    `latitude`, 
    `longitude`, 
    `coordinates`, 
) 
VALUES(
    'Y2UyMTA4N2', 
    45.933191, 
    15.316599, 
    'GeomFromText(POINT(45.713958 14.209463))', 
) 

查詢應該如何看待插入點值?

UPDATE 我create table語句

CREATE TABLE IF NOT EXISTS `locations` (
    `id_location` INT NOT NULL AUTO_INCREMENT, 
    `unique_id` VARCHAR(10) NOT NULL, 
    `latitude` DECIMAL(9,7) NULL, 
    `longitude` DECIMAL(9,7) NULL, 
    `coordinates` POINT NOT NULL, 
    PRIMARY KEY (`id_location`), 
    UNIQUE INDEX `unique_id_UNIQUE` (`unique_id` ASC), 
    SPATIAL INDEX `coordinates_idx` (`coordinates` ASC)) 
ENGINE = MyISAM 
+0

請發表SHOW CREATE TABLE \ locations \''。 – wchiquito

+0

問題更新 –

回答

1

13.15.3 Functions That Create Geometry Values from WKT Values :: GeomFromText(wkt[, srid]), GeometryFromText(wkt[, srid])

...

GeomFromText()和GeometryFromText()已被棄用從MySQL 5.7.6 ,並會在將來的MySQL版本中刪除。改爲使用ST_GeomFromText() 和ST_GeometryFromText()。

嘗試:

INSERT INTO `locations` 
(`unique_id`, 
    `latitude`, 
    `longitude`, 
    `coordinates` 
) VALUES (
    'Y2UyMTA4N2', 
    45.933191, 
    15.316599, 
    -- 'GeomFromText(POINT(45.713958 14.209463))' -- ERROR 
    -- GeomFromText('POINT(45.713958 14.209463)') 
    ST_GeomFromText('POINT(45.713958 14.209463)') 
); 

db-fiddle

+0

謝謝你的男人! –

1

的文本 - POINT(45.713958 14.209463)GeomFromText是一個函數,所以嘗試此查詢 -

INSERT 
INTO 
    `locations`(
    `unique_id`, 
    `latitude`, 
    `longitude`, 
    `coordinates` 
) 
VALUES(
    'Y2UyMTA4N2', 
    45.933191, 
    15.316599, 
    GeomFromText('POINT(45.713958 14.209463)') 
) 
相關問題