2

我如何知道一对 FLOAT(11,7) 主键是否已经存在?

我有这些值 lat: 50.0077953 和 lng: -119.3953705

我愿意:

SELECT * FROM wp_geo_mashup_locations WHERE lat = '50.0077953' AND lng = '-119.395367'

自从这次成功,我做到了,

INSERT INTO wp_geo_mashup_locations (lat,lng) VALUES ('50.0077953', '-119.395367')

我得到:

    Duplicate entry '50.0077934--119.3953705' for key 2
4

1 回答 1

0

好吧,如果 INSERT 失败,您就知道这对已经存在。

或者,在搜索时使用一些阈值,例如:

lat BETWEEN 50.0077953-0.00005 AND 50.0077953+0.00005.

注意:在找出正确的阈值之前,您已经玩了一点(我不知道长坐标和纬度坐标所需的分辨率)。

注意:在 MySQL 数据库中存储纬度/经度时使用的理想数据类型是什么?- 人们建议在这里使用空间扩展,DECIMAL 或 FLOAT(10,6) / FLOAT(9,6)。

于 2013-06-07T09:23:02.670 回答