MYSQL 使用 table 数据和 ST_Distance_Sphere 的地理空间函数

MYSQL geospatial function using table data and ST_Distance_Sphere

这是我的查询,它试图 return 从特定点到 table 中所有记录的距离。

这是Table创作

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fname` varchar(45) DEFAULT NULL,
  `lname` varchar(45) DEFAULT NULL,
  `location` point DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=76 DEFAULT CHARSET=latin1;

这是select声明。

`SELECT ST_Distance_Sphere(POINT(-79.3716, 43.6319), location) as distance from user;`

但它会产生以下错误:

'Error', '1210', 'Incorrect arguments to st_distance_sphere'

如何使用数据库中存储的点类型获取计算距离和数据。

这条语句非常有效

SELECT ST_Distance_Sphere(POINT(-79.3716, 43.6319), POINT(-79.3716, 45.6319)) as distance FROM user;

确保存储在数据库中的 POINT 变量顺序正确