Nodejs mysqlモジュールを使用して、影響を更新および削除する行数を取得する方法
1098 ワード
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
});
});