为什么我的函数无法在db.execute中为json运行?

时间:2018-12-02 21:21:01

标签: mysql json google-maps

我正在使用SELECT函数从SQL表中提取经/纬度,并试图将其转换为JSON,以插入Google Maps Markers函数中。

db.execute("SELECT loc_LAT_poly, loc_LONG_poly 
            FROM markers 
            WHERE e_city=:e_city 
            AND e_state=:e_state 
            FOR JSON AUTO", 
            e_city=e_city, e_state=e_state)

使用此代码,我收到语法错误:

  

RuntimeError:“ FOR”附近:语法错误。

我的语法错误在哪里? 谢谢!

编辑#1:这是在flask应用程序(python)中执行的,然后JSON将发送到HTML页面中的Google Maps的JavaScript函数。

1 个答案:

答案 0 :(得分:1)

FOR JSON AUTO是对Microsoft SQL Server实现的SQL的扩展。

MySQL没有此功能。它是Microsoft专有的。

您应该了解所使用的RDBMS品牌,并了解每个RDBMS品牌都有自己的专有功能。

您可以使用MySQL的JSON_OBJECT() function逐字段格式化JSON。请参阅文档中的示例。