【发布时间】:2011-09-05 12:03:33
【问题描述】:
我想将从 Google Maps GeoCoding API 获取的纬度和经度值存储在 MySQL 数据库中。这些值采用浮点格式。
12.9274529
77.5905970
当我想将它存储在数据库中(数据类型为浮点数)时,它会将浮点数四舍五入并以以下格式存储:
12.9275
77.5906
我是否使用了错误的数据类型?如果是,那么我应该使用什么数据类型来存储纬度和经度值?
更新:
这是 Allin 要求的 CREATE TABLE
CREATE TABLE `properties` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`description` text,
`latitude` float DEFAULT NULL,
`longitude` float DEFAULT NULL,
`landmark` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `serial` (`serial`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
【问题讨论】:
-
你真的尝试过其他数据类型吗?
-
@jezmck 我会简单地使用 varchar 并且它应该可以工作,但是由于纬度和经度是浮点值,因此使用我想要的任何数据类型都没有意义。我想知道的是存储此类值的正确数据类型。
-
@Ibrahim Azhar Armar 你能做一个
SHOW CREATE TABLE什么的并告诉使用数据类型是什么吗? -
@Alin Purcaru 正如我已经说过的那样,它处于浮动状态。
-
@Ibrahim Azhar Armar 我只是想确保您确实使用了
FLOAT数据类型。
标签: php mysql types floating-point