SQL 列名不能被 jquery 索引

Posted

技术标签:

【中文标题】SQL 列名不能被 jquery 索引【英文标题】:SQL Column Name cannot be indexed by jquery 【发布时间】:2019-11-06 20:54:39 【问题描述】:

我正在尝试使用phpmysql 读取数据,然后使用json_encode 将结果发送给客户端。然后我使用jQuery 脚本读取结果,但无法索引JSON 中的列,因为给列的名称类型中有括号COUNT(ID)

我正在尝试同时学习几件事,jQuerySQL 等,并认为必须有更好/更简单的方法?

我进行了SQL 查询,以计算名称在其中一列中出现的次数。它返回一个列名COUNT(ID)...

SQL 查询:

SELECT COUNT(ID), LocationName FROM myDB GROUP BY LocationName'

jQueryJSON 读入数组:

for(var i in data)

    getProfileName.push = data[i].ProfileName;
    getLocationCount.push = data[i].COUNT(ID)

我在jQuery 脚本中收到JSON,它有两列LocationNameCOUNT(ID)

但显然我不能使用 COUNT(ID) 的索引名称,因为括号。

如何用括号引用名称?

【问题讨论】:

【参考方案1】:

您需要在查询中为COUNT(ID) 提供一个别名,如下所示:

SELECT COUNT(ID) as totalIdCount, LocationName FROM myDB GROUP BY LocationName
//------------------^you can chang alias name according to your comfort --------//

现在在 jQuery 中使用这个别名

for(var i in data)

    getProfileName.push = data[i].ProfileName;
    getLocationCount.push = data[i].totalIdCount

注意:- 你可以直接在你的 jQuery 代码中尝试data[i]['COUNT(ID)'],但以上是标准做法。

【讨论】:

“需要” 是一个强词。 OP 可以使用data[i]['COUNT(ID)'] 谢谢 0- 正是我要找的东西 @Phil 同意,但最好以更合适的方式做事(或者我们可以说标准方式) 哦,我完全同意。这好多了更好

以上是关于SQL 列名不能被 jquery 索引的主要内容,如果未能解决你的问题,请参考以下文章

MySQL——索引,连表……

oracle 不能是用变量来作为列名和表名 ,但使用动态sql可以;

DB2错误码

DB2错误码

merge函数为啥没有作为索引的一样的列名字会不一样

如何处理看起来像 SQL 关键字的 SQL 列名?