我面临着我的MySQL数据库和我在NodeJS中的RESTful API的问题
我有一个请求:
function plusOneToValue(id, callback) {
MySQLDatabase.pool.getConnection(function(err, connection) {
if (err) return callback(err)
connection.query("SELECT id, value, property FROM values WHERE id = ?",
[id], function(err, entries) {
if (err) {
connection.release();
return callback(err);
}
if (entries.length == 0) {
connection.release();
return callback("some error");
}
var entry = entries[0]
if (entry.property = true)
connection.query("UPDATE values SET value = ? WHERE id = ?",
[entry.value + 1, entry.id], function(err, users) {
connection.release();
if (err) return callback(err);
return callback();
});
else {
connection.release();
return callback();
}
});
});
}
我的问题是,当我同时调用此函数3次时,它会出现这种情况:
什么时候应该:
我试图用信号量修复它,但问题是我不希望它在每次通话时都阻止它!只有在对参数中传递了id的行进行复合访问时才会显示。
有谁知道我怎么能做到这一点?