2013-04-24 39 views
11

Khi sử dụng mysql của felixge cho node.js, làm thế nào tôi có thể yêu cầu đối tượng kết quả cho số hàng trả về? Tôi có một truy vấn khá tốn kém vì vậy tôi không muốn chạy một COUNT(*) đầu tiên, chỉ để sau đó chạy một truy vấn một lần thứ hai.tìm số hàng trong kết quả trả về mysql (nodejs)

Trả lời

24

Nếu đó là truy vấn chọn, chỉ cần lấy độ dài của mảng được trả về.

connection.query(sql, [var1,var2], function(err, results) { 
    numRows = results.length; 
}); 

Nếu đó là truy vấn cập nhật/xóa, từ điển được trả về sẽ có biến bị ảnh hưởng.

connection.query(sql, [var1,var2], function(err, result) { 
    numRows = result.affectedRows; 
}); 
+2

Tôi thực sự muốn có tài liệu hướng dẫn tốt hơn cho thư viện mà hơn chỉ là readme.md trên github. Tôi đã tìm ra điều này không lâu sau khi tôi đăng (nhưng rõ ràng là đủ lâu để tôi quên quay lại và trả lời nó: P). – Huckle

0

Nếu bạn đang sử dụng các ví dụ trong chỉ đọc, hãy xem thuộc tính độ dài của đối tượng hàng (ví dụ: rows.length).

-3

Với phiên bản của MSSQL 2.1.2 như của 2015/04/13:

xóa từ DeviceAccountLinks nơi DeviceAccountId = @deviceAccountId và DeviceType = @deviceType

tuyên bố sẽ sản xuất không có kết quả như ' không xác định'

tôi đã thay đổi tuyên bố:

xóa từ DeviceAccountLinks nơi DeviceAccountId = @deviceAccou ntId và DeviceType = @deviceType; chọn @@ ROWCOUNT "rowCount"

để có được đầu ra của: [{rowCount: 1}]

+0

cơ sở dữ liệu sai, MySQL không MSSQL – bugfroggy

Các vấn đề liên quan