在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);
实例:复制代码 代码如下:
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
});
});
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“Nodejs使用mysql模块之获得更新和删除影响的行数的方法”评论...