在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
});
});
本文地址:https://www.stayed.cn/item/5256
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我