Nodejs node-mysql 查询结果数据类型
Nodejs node-mysql query result data type
我无法弄清楚如何从 mysql 回调函数中的查询中获取数据。例如我有如下查询:
mysqlConnection.query('SELECT COUNT(*) from card AS count', function (err, result) {
if (err) {
throw err;
}
else {
console.log(Type.of(result));
console.log("card count is as: " + result.count);
console.log("Card count is: " + result["COUNT(*)"]);
console.log(result);
}
});
打印出来:
[Function: Array]
card count is as: undefined
Card count is: undefined
[ { 'COUNT(*)': 3 } ]
什么是“[Function: Array]”数据类型以及如何从中选取变量?函数数组?为什么 "result.count" 未定义,即使我在查询中使用了 AS 东西。
另外,以下查询与下面的查询有何不同?
mysqlConnection.query('SELECT COUNT(*) from card AS count', function (err, rows, fields) {
});
mysqlConnection.query('SELECT COUNT(*) from card AS count', function (err, result) {
});
我什么时候用另一个,什么时候用另一个?
将您的查询更改为
SELECT COUNT(*) AS count from card
列别名应该在选择列之后定义,而不是在from
之后。
带有 function (err, rows, fields)
的回调更适合于选择您正在使用的数据,然后行将由数组的数组填充。因此,在您的情况下,rows[0]['COUNT(*)']
就是您的计数。
对于多行选择,您可以遍历结果。
作为旁注,我认为你的意思是 SELECT COUNT(*) AS count from card
然后可以更简单地访问 rows[0].count
我无法弄清楚如何从 mysql 回调函数中的查询中获取数据。例如我有如下查询:
mysqlConnection.query('SELECT COUNT(*) from card AS count', function (err, result) {
if (err) {
throw err;
}
else {
console.log(Type.of(result));
console.log("card count is as: " + result.count);
console.log("Card count is: " + result["COUNT(*)"]);
console.log(result);
}
});
打印出来:
[Function: Array]
card count is as: undefined
Card count is: undefined
[ { 'COUNT(*)': 3 } ]
什么是“[Function: Array]”数据类型以及如何从中选取变量?函数数组?为什么 "result.count" 未定义,即使我在查询中使用了 AS 东西。
另外,以下查询与下面的查询有何不同?
mysqlConnection.query('SELECT COUNT(*) from card AS count', function (err, rows, fields) {
});
mysqlConnection.query('SELECT COUNT(*) from card AS count', function (err, result) {
});
我什么时候用另一个,什么时候用另一个?
将您的查询更改为
SELECT COUNT(*) AS count from card
列别名应该在选择列之后定义,而不是在from
之后。
带有 function (err, rows, fields)
的回调更适合于选择您正在使用的数据,然后行将由数组的数组填充。因此,在您的情况下,rows[0]['COUNT(*)']
就是您的计数。
对于多行选择,您可以遍历结果。
作为旁注,我认为你的意思是 SELECT COUNT(*) AS count from card
然后可以更简单地访问 rows[0].count