我有一個城市名稱的數據集,其中包含我們加載到MySQL表中的相應緯度/經度,如下所示:如何正確地將緯度/經度數據導入MySQL?
city_id | city_name |緯度DECIMAL(9,6)|經度DECIMAL(9,6)
典型的緯度/經度座標可能如下所示:54.284758/32.484736。
但是,我只得到一個2的值才能正確顯示在我的表中,換句話說,等價於DECIMAL(5,2)。爲了UTF-8的目的,數據從已從OpenOffice Calc導出的文本CSV上傳。我知道OpenOffice在小數點上有一些問題,但是完全的緯度/經度肯定在導出的CSV中。如果我用記事本打開CSV,數據就沒有問題。
任何人都可以看到我可能做錯了什麼?
謝謝。
更新: 得到它的工作,感謝所有的輸入。我重新創建了一切,從頭開始,新的模式文件(我使用的是ORM),新的CSV導出,新的表格,新的LOAD DATA INFILE,並且它使用正確的十進制輸出。打敗我。
當你在表中說「不正確」時,你的意思是當你在MySQL提示符下鍵入「SELECT * FROM mytable」時?或者你有一個觀衆? – Tenner 2010-01-27 15:41:37
@Tenner ....我使用的MySQL工作臺,但結果是相同的,當我通過PHP拉一個座標。 – Tom 2010-01-27 15:49:30
考慮到數據類型爲'DECIMAL(9,6)',並且在記事本中查看時CSV是正確的 - 某些東西與您用來導入數據的東西有關。看看如何使用MySQL LOAD DATA INFILE來避免遇到的任何問題:http://dev.mysql.com/doc/refman/5.1/en/load-data.html – 2010-01-27 15:56:14