展会信息港展会大全

Nodejs使用mysql模块之获得更新和删除影响的行数的方法
来源:互联网   发布日期:2016-01-26 11:09:10   浏览:2043次  

导读:业余时间玩nodejs的时候遇到点蛋疼的情况, 在使用mysql模块连接mysql操作, 想在update, delete语句的时候, 想知道到底update, delete成功了没有在mysql中直接进行这样的判断的方法是使用 row_count(), 这 ...

业余时间玩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

});

});

赞助本站

人工智能实验室

相关热词: mysql Nodejs js

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港