嗨,我想在嘗試洗掉我的 sql 資料庫中的一行時拋出一個錯誤,并且 id 不在表中。
這是我從控制器接收 id 的模型。(此id不在培訓表中)
Training.deleteNewVariations = function (id, result) {
console.log('id deleteNewVariations', id)
dbConn.query(`DELETE FROM training WHERE id='#${id}'` , function (err, res) {
if (err) {
console.log("error: ", err);
result(err, null);
} else {
result(null, res);
}
});
};

以及控制器中函式的結果:
function deleteNewVariations(req, res) {
const { id } = req.query;
Training.deleteNewVariations(id, function (err, examples) {
console.log('deleteNewVariations', examples)
if (err) {
res.status(500).send({ message: "Server Error." });
} else {
if (!examples) {
res.status(404).send({ message: "Not examples to Delete by this Id" });
} else {
console.log('examples deleteNewVariations ', examples)
res.status(200).send({ message: "Variaciones Borradas Correctamente"});
}
}
})
}
總是給我發送res.status(200).send({ message: "Variaciones Borradas Correctamente"});
我的錯誤在哪里?
這是我的 DDL:
CREATE TABLE `training` (
`id` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`idResponse` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`description` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`examples_new` json DEFAULT NULL,
`examples_edit` json DEFAULT NULL,
`examples_production` json DEFAULT NULL,
`timestamp_create` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`timestamp_update` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
uj5u.com熱心網友回復:
嘗試洗掉不存在的行并不是 SQL 錯誤。
您可以使用res.affectedRows來判斷是否找到并洗掉了任何行。
Training.deleteNewVariations = function(id, result) {
console.log('id deleteNewVariations', id)
dbConn.query(`DELETE FROM training WHERE id='#${id}'`, function(err, res) {
if (err) {
console.log("error: ", err);
result(err, null);
} else if (res.affectedRows == 0) {
console.log(`error: #${id} not found`);
result(new Error(`#${id} not found`), null);
} else {
result(null, res);
}
});
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/504139.html
標籤:javascript mysql 节点.js 后端
