我在想,如果我有一个像下面这样的查询:
connection.query("DELETE FROM uln;", function(err, result);
我将能够检查是否有任何行实际上被删除使用:
if(result.changedRows === 0){ do something.. }
然而,这似乎并不像我预期的那样工作。有人知道我如何检查没有行被删除的情况吗?谢谢!
aemubtdh1#
请尝试使用result.affectedRows而不是result.changedRows。这将为DELETE查询提供准确的结果。
result.affectedRows
result.changedRows
DELETE
btxsgosb2#
result.affectedRows()在删除查询后将准确通知受影响的行数。
h4cxqtbf3#
要使用Node.js检查MySQL表中的行是否被删除,可以使用mysql包连接到数据库并执行DELETE语句,然后检查受影响的行数,以查看是否有行被实际删除。
mysql
const sql = 'DELETE FROM uln'; connection.query(sql, (error, results) => { if (error) throw error; console.log(`Rows deleted: ${results.affectedRows}`); });
此代码段连接到MySQL数据库,执行DELETE语句从'uln'表中删除行,并通过检查results对象的affectedRows属性来检查删除的行数。
affectedRows
3条答案
按热度按时间aemubtdh1#
请尝试使用
result.affectedRows
而不是result.changedRows
。这将为DELETE
查询提供准确的结果。btxsgosb2#
result.affectedRows()在删除查询后将准确通知受影响的行数。
h4cxqtbf3#
要使用Node.js检查MySQL表中的行是否被删除,可以使用
mysql
包连接到数据库并执行DELETE语句,然后检查受影响的行数,以查看是否有行被实际删除。此代码段连接到MySQL数据库,执行DELETE语句从'uln'表中删除行,并通过检查results对象的
affectedRows
属性来检查删除的行数。