2012-03-05 12 views
8
'43.005895','-71.013202' 

Próba użycia:Datatype przechowywać długość/szerokość w MySQL

INSERT INTO table(fanDetLocZip, fanDetLocCity, fanDetLocState, fanDetLocLat, fanDetLocLong, fanDetLocTZ, fanDetLocDST) 
VALUES(00210, 'Portsmouth', 'NH', '43.005895', '-71.013202', -5, 1); 

obecnie używam typ danych SPATIAL, GEOMETRY.

Jego daje mi błędy jak:

nie można uzyskać geometrii obiektu z danych wysyłanych do pola GEOMETRII

Wszystkie wartości mają 2 cyfry i 6 miejsc dziesiętnych po przecinku. Jak mam to zapisać w mysql?

Błąd otrzymuję kiedy używać:
INSERT INTO Table(fanDetLocZip, fanDetLocCity, fanDetLocState, fanDetLocLatLong, fanDetLocTZ, fanDetLocDST)
VALUES(00210, 'Portsmouth', 'NH', point(43.005895,-71.013202), -5,1)

błędu Zdjęcie: img5

+0

Czy można dodać definicję tabeli (instrukcja "CREATE")? Która kolumna jest typu "GEOMETRIA"? –

+0

fanDetLocLat, fanDetLocLong – CodeTalk

+0

To dwie kolumny. Czy masz kolumnę typu GEOMETRY lub POINT? –

Odpowiedz

17

Można użyć POINT() przechowywać do kolumny typu GEOMETRY lub POINT:

POINT(43.005895, -71.013202) 

Jeśli Kolumna Geometria ma nazwę geom. Możesz jej użyć:

INSERT INTO table 
    (..., geom, ...) 
    VALUES 
    (..., POINT(43.005895, -71.013202), ...) 

Jeśli chcesz pokazać dane przechowywane, można użyć funkcji X() and Y():

SELECT X(geom) AS x, Y(geom) AS y 
FROM table 
+0

To jest pomocne, domyślam się, że po prostu nie dodałem punktu(). Nigdy wcześniej nie użyłem wartości geometrii. Dzięki Ypercube! – CodeTalk

+0

Kiedy używam: INSERT INTO Table (fanDetLocZip, fanDetLocCity, fanDetLocState, fanDetLocLatLong, fanDetLocTZ, fanDetLocDST) VALUES (00210, "Portsmouth", "NH", punkt (43,005895, -71.013202), - 5,1) wprowadza wartość dziwne. Zobacz powyższy zrzut ekranu. – CodeTalk

+0

@ user975947: Zobacz moją edycję powyżej. –

2

Dlaczego nie użyć zamiast do typu float dla Twojego lat/long?

Float (10,6) 
+3

Pływak nie nadaje się do przechowywania szerokości i długości geograficznej. Double to najlepszy typ danych do przechowywania szerokości/długości geograficznej. [Przeczytaj pełną dyskusję] (http://stackoverflow.com/questions/20657172/float-and-double-datatype-is-good-to-store-lattitude-and-longtitude) – ArunRaj

Powiązane problemy