Node.js MySQL模块获取更新删除影响行数方法

作者:栖木

时间:2026-10-27

浏览:347

本文介绍在Node.js中通过mysql模块执行SQL后,如何获取更新或删除操作影响的行数。由于Node.js异步特性,直接调用row_count()难以对应具体语句,实际可通过回调函数中rows对象的affectedRows属性获取结果,并据此判断操作是否成功。

文章目录

Node.js中获取MySQL影响行数的方法

在MySQL数据库中,若需直接判断受影响的行数,通常使用row_count()函数,且该语句必须紧跟在执行的SQL之后。然而,Node.js的I/O操作均为异步执行,这导致难以准确判断row_count()的结果究竟属于哪一条SQL语句。粗略查阅文档后,并未发现对此问题的明确说明。原本考虑通过函数嵌套实现同步效果,但意外发现执行SQL的异步回调参数中包含了affectedRows字段。经测试,该字段即为row_count()的结果。

示例代码如下:

var cmd = 'UPDATE users SET ' + field + ' = ' + value + ' WHERE id = ' + userid;
console.log(cmd);
db.query(cmd, function(err, rows, fields){
var affectedRows = rows.affectedRows;
if(err || affectedRows){
var msg = 'update ' + field + ' error';
logger.error(msg);
res.send({
 'code': 500,
 'state': 'failure',
 'msg': msg,
 'data': null
 });
 return;
 }
res.send({
 'code': 200,
 'state': 'success',
 'msg': 'updated',
 'data': null
 });
 });

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章