Найти количество строк в возвращаемом mysql результате (nodejs)
При использовании felixge mysql для node.js, как я могу задать объект результата для числа возвращаемых строк? У меня довольно дорогой запрос, поэтому я не хочу сначала запускать COUNT(*)
, а затем запускать запрос во второй раз.
Ответы
Ответ 1
Если это запрос select, просто возьмите длину возвращаемого массива.
connection.query(sql, [var1,var2], function(err, results) {
numRows = results.length;
});
Если это запрос update/delete, возвращаемый словарь будет иметь переменную affectedRows.
connection.query(sql, [var1,var2], function(err, result) {
numRows = result.affectedRows;
});
Ответ 2
Если вы используете примеры в readme, просто посмотрите на свойство length объекта rows (т.е. rows.length).
Ответ 3
С версией mssql 2.1.2 от 2015-04-13:
удалить из DeviceAccountLinks
где DeviceAccountId = @deviceAccountId
и DeviceType = @deviceType
Оператор не будет давать никаких результатов в качестве "undefined"
Я изменил инструкцию на:
удалить из DeviceAccountLinks
где DeviceAccountId = @deviceAccountId
и DeviceType = @deviceType;
выберите @@rowcount "rowCount"
чтобы получить результат: [{rowCount: 1}]