对node.js使用felixge的mysql时,如何向结果对象询问返回的行数?我有一个相当昂贵的查询,所以我不想先运行COUNT(*)
,然后再次运行查询。
答案 0 :(得分:39)
如果是select查询,只需获取返回数组的长度。
connection.query(sql, [var1,var2], function(err, results) {
numRows = results.length;
});
如果是更新/删除查询,则返回的字典将具有affectedRows变量。
connection.query(sql, [var1,var2], function(err, result) {
numRows = result.affectedRows;
});
答案 1 :(得分:0)
如果您正在使用自述文件中的示例,只需查看rows对象的length属性(即rows.length)。
答案 2 :(得分:-2)
截至2015-04-13的mssql 2.1.2版本:
从DeviceAccountLinks中删除 其中DeviceAccountId = @deviceAccountId 和DeviceType = @deviceType
语句不会产生'undefined'
的结果我已将声明更改为:
从DeviceAccountLinks中删除 其中DeviceAccountId = @deviceAccountId 和DeviceType = @deviceType; 选择@@ rowcount“rowCount”
获取输出:[{rowCount:1}]