首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于MySQL查询,results.length没有给出正确的输出吗?

对于MySQL查询,results.length没有给出正确的输出吗?
EN

Stack Overflow用户
提问于 2021-01-25 04:40:30
回答 1查看 200关注 0票数 0

为什么MySQL查询结果长度不正确?该查询只是计算数据库中message列的数量并打印其长度。

代码:

代码语言:javascript
复制
connection.query("SELECT COUNT(message) as total FROM `counter`", (err, results) => {
    if(err) throw err;
    console.log(results);
    console.log("the length of result:", results.length);

输出:

代码语言:javascript
复制
[ RowDataPacket { total: 4 } ]
the length of result: 1

正确的长度是4而不是1

请问如何纠正这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-25 04:46:04

results包含以数组形式返回的行。因为您使用的是SELECT COUNT(message),所以查询的是消息的数量,它返回一行。这一行包含结果,这是一个形状为{ total: 4 }的对象-其中total来自您的SQL查询的as total部分。

要获得实际结果,请检查results.length > 0,然后即可访问results[0].total

代码语言:javascript
复制
if (results.length > 0) {
  console.log('Total:', results[0].total)
} else {
  throw new Error('No results returned from query!')
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65875718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档