萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> Nodejs使用mysql模塊之獲得更新和刪除影響的行數的方法

Nodejs使用mysql模塊之獲得更新和刪除影響的行數的方法

 業余時間玩nodejs的時候遇到點蛋疼的情況, 在使用mysql模塊連接mysql操作, 想在update, delete語句的時候, 想知道到底update, delete成功了沒有

在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     });   });  
copyright © 萬盛學電腦網 all rights reserved