У меня есть база данных, в которой хранятся широта и долгота координат, а также другие поля.
Лат и лонг установлены на 10,8.
При запуске следующей команды …
INSERT IGNORE INTO records(unique_id, city, st,zip,lat,lon) VALUES
( '80936EN476', 'West Jordan', 'UT', '84088-5205', '40.59660', '-111.963' )
Вставка завершена без сообщений, но когда извлекается запись, поле «lon» было установлено в -100.000000.
Когда я пытаюсь изменить значение в phpMyAdmin, я получаю следующую ошибку.
Предупреждение: # 1264 Вне значения диапазона для столбца ‘lon’ в строке 1
Вам нужно поставить больше цифр впереди.
10,8 означает 2 цифры перед десятичной и 8 десятичных цифр.
попробуйте поставить что-то вроде 12,8
Хорошо, проблема оказалась в значениях с плавающей точкой.
Я изменил его на 10,6, и это решило проблему!
Делать не использование (m,n)
на FLOAT
или же DOUBLE
, Это приводит к дополнительному округлению. И, в вашем случае, это приводит к усечению в верхних цифрах.