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

2014-03-18 24

在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
    });
  });
展开阅读全文

更多Javascript文章

jquery如何扑捉回车键触发的事件
Apr 24 23
javascript中HTMLDOM操作详解
Dec 11 14
Node.js编程中客户端Session的使用详解
Jun 23 26
JavaScript地理位置信息API
Jun 11 22
JavaScript严格模式详解
Jan 16 24
AngularJS与BootStrap模仿百度分页的示例代码
May 23 16
基于javascript实现贪吃蛇小游戏
Nov 25 24
手机访问当前页面