У меня есть набор данных о названиях городов с соответствующими широтами/долготами, которые я загрузил в таблицу MySQL, например:Как правильно импортировать данные о широте/долготе в MySQL?
city_id | city_name | широта DECIMAL (9,6) | долгота DECIMAL (9,6)
Типичные координаты широты/долготы могут выглядеть так: 54.284758/32.484736.
Однако, я получаю значения со шкалой 2, чтобы правильно отображаться в моей таблице, другими словами, эквивалент DECIMAL (5,2). Данные загружаются из текстового CSV, который был экспортирован из OpenOffice Calc для целей UTF-8. Я знаю, что OpenOffice имеет некоторые проблемы с десятичными знаками, но полная широта/долгота, безусловно, находится в экспортированном CSV. Если я открою CSV с помощью Блокнота, данные будут точными.
Может ли кто-нибудь увидеть, что я могу делать неправильно?
Спасибо.
ОБНОВЛЕНИЕ: Получил работу, спасибо за все входные данные. Я воссоздал все с нуля, новый файл схемы (я использую ORM), новый CSV-экспорт, новую таблицу, новый LOAD DATA INFILE и работает с правильным десятичным выходом. Ударь меня.
Когда вы говорите «неверно» в своей таблице, вы имеете в виду, когда вы набираете «SELECT * FROM mytable» в приглашении MySQL? Или у вас есть зритель? – Tenner
@Tenner .... Я использую MySQL workbench, но результат тот же, когда я вытягиваю координату через PHP. – Tom
Учитывая, что типы данных являются 'DECIMAL (9,6)', а CSV корректен, когда вы просматриваете его в «Блокноте» - что-то происходит с тем, что вы используете для импорта данных. Взгляните на использование MySQL LOAD DATA INFILE, если он обходит любую проблему, с которой вы сталкиваетесь: http://dev.mysql.com/doc/refman/5.1/en/load-data.html –