我有以下声明:
INSERT INTO infotbl(name, phone) VALUES('Alex', '9999999');
并更新它:
UPDATE infotbl SET name = 'Alex Johnes', phone = '999 34356063' WHERE id = 1;
然后删除:
DELETE FROM infotbl WHERE id = 1;
我已经成功插入,当我更新和删除行时,MySQL 中的行已发生更改。但我在 Node 中的代码返回受影响的行 = 0。为什么?我在 Node 中有一个更新和删除的函数:
function deleteCustomer (id, callback) {
db.connection.query("DELETE FROM infotbl WHERE id=?", id, (err, result) => {
if (err) throw err;
if (result.affectedRows > 0)
callback(true);
else
callback(false);
});
};
和更新功能:
function updateCustomer(id, name, phone, callback) {
db.connection.query("UPDATE infotbl SET name = ?, phone = ? WHERE id = ?;", [name, phone, id], (err, result) => {
if (err) throw err;
if (result.affectedRows > 0)
callback(true);
else
callback(false);
});
}
当数据库执行成功时,为什么节点返回0受影响的行?