我有一些点存储在 MySQL 数据库中,它们存储为具有 x 和 y 值的 POINT 类型。我正在尝试使用 WHERE 子句中的 x 和 y 值搜索并返回特定点。
这是我试图开始工作的查询示例:
"SELECT id, x(coords) AS lng, y(coords) AS lat
FROM my_points
WHERE x(coords) = $lng AND y(coords) = $lat"
但这不起作用。我没有 MySQL 空间类型的经验,任何帮助将不胜感激!
下面的评论提供了更多信息:
我应该提到我实际上使用 PHP 框架 ORM 进行 DB 查询,我上面编写的 SQL 只是假设代表我试图使用 ORM 的语法来实现的目标。我不认为问题出在 ORM 上,因为我之前在“WHERE”子句中使用过其他函数。我只是不太确定在“WHERE”子句中使用“x() = lng AND y() = lat”是否正确。使用正常的正确 SQL 语法,您在 WHERE 子句中使用 x() AND y() 给了我想要的东西?