Node.js MySQL模块获取更新删除影响行数方法
作者:栖木时间:2026-10-27 23:45:35浏览:348
本文介绍在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
});
});作者最新文章
NestJS 是什么?与 Express、Koa 的核心区别及选型建议
2026-11-05 13:46:41
生产环境升级 Node.js 的注意事项与兼容性测试策略
2026-11-05 09:19:24
nvm 常用命令详解:怎么平滑切换和升级 Node.js 版本
2026-11-04 09:02:34
JavaScript和JSP的根本区别:运行环境与执行机制解析
2026-11-03 23:30:18
使用nvm卸载指定版本Node.js并切换默认环境
2026-11-03 23:09:26
