Мне нравится хранить широты и долготы очень точно в моей базе данных MySql с помощью InnoDB. Тем не менее, float не предлагал достаточно внутренних десятичных знаков, поэтому я переключился на двойной. Чувствуя себя немного, но MySql принял двойной размер до 30, поэтому я использовал double (30,27), потому что нужны только 3 регулярных места, а остальные должны быть за запятой.MySql и float или double обведите мой номер, когда я обновляю его на запрос с php
Хорошо, что в MySql, который работал до сих пор, и с другой стороны, я получаю поплавки над json_decode, и когда я повторяю их, у них есть до 18 или 19 мест после запятой. Так что даже здесь все, как ожидалось.
Но когда я создаю запрос на обновление для заполнения пустых двойных полей (double 30/27), он просто заполняет все цифры нулем, освобождая первые 9 цифр. Или иногда начинается начало правила с 7 цифр с линией 9s.
Например, когда я обновляю 47.2608691999999877 в MySQL - независимо от того, если в сценарий или за PhpMyAdmin, после или выписки кнопки сохранения +47,260869199999990000000000000 появляются в таблице, где 47,260869199999987700000000000 должны появиться или
+11,396251100000000633, как обновление в таблицу дает мне 11.396251100000000000000000000
Похоже, что он игнорирует возможные места, начиная с 7. или иногда заполняет его 9, но в большинстве случаев есть только нули.
Может ли кто-нибудь дать мне совет для решения этой проблемы, пожалуйста?
Помните, что я также получаю проблему с PHPMyAdmin, но из PHP. Теперь я не уверен, что это проблема MySQL или PHP.
Спасибо
Так, например я MySql я могу хранить это легко по, например PHPMyAdmin:
Если вам нужна точность - используйте 'DECIMAL'. –