при разворачивании нового экземпляра одного старого проекта через некоторое время обнаружил что поле с типом double не так как планировалось сохраняет данные (агрегация количественных параметров).
те
имеем числа с максимум 8 знаков в целой части и 12 знаков после запятой,
поле используется как первичный ключ.
например число 1900.000000000179
сохраняет и заносит в бд тк есть, а на хостинге, где разворачивал проект
оказалось 1900.00000000018
в связи с чем пошел перекос данных.
(это ничего мы данные еще раз перегоним...)
запланировано использовать decimal (20,12), тк целое может быть max mediumint
кто сталкивался почему это могло произойти??
какой тип поля лучше использовать?
спасибо
|