Nodejs使用mysql模块之获得更新和删除影响的行数的方法

(编辑:jimmy 日期: 2026/4/30 浏览:2)

在mysql中直接进行这样的判断的方法是使用 row_count(), 这一条语句要紧跟着你执行的sql语句后面. 而Nodejs的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
    });
  });

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。