假设我需要从数据库中删除或更新一些 id 信息,这是最好的方法?我应该首先找出该ID是否存在吗?或者我应该更新数据然后检查结果,如果结果为假,这意味着数据不存在。
方法 1
let find_id = "Select id from MyGuests where id=2";
if(find_id.length === 0 || find_id.length === undefined) {
return not found //immediately exit
}
let result = "UPDATE MyGuests SET lastname='Doe' WHERE id=2"
return result;
还是我应该使用这个?
方法 2
let result = "UPDATE MyGuests SET lastname='Doe' WHERE id=2"
if (result === 0) {
return not found
}
return result;
同样的问题也适用于我的删除查询?哪一种是最佳方法?
通常,最好尽量减少发送到数据库的查询数。所以你应该只执行UPDATE
或DELETE
。然后,您可以检查结果中的affectedRows
计数。
var sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
con.query(sql, function (err, result) {
if (err) throw err;
if (result.affectedRows == 0) {
console.log("ID not found");
}
});
不要忘记数据库查询是异步的,您无法以正常方式返回结果。请参阅如何从异步调用返回响应?