Подтвердить что ты не робот

Найти количество строк в возвращаемом mysql результате (nodejs)

При использовании felixge mysql для node.js, как я могу задать объект результата для числа возвращаемых строк? У меня довольно дорогой запрос, поэтому я не хочу сначала запускать COUNT(*), а затем запускать запрос во второй раз.

4b9b3361

Ответ 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}]