尝试使用express删除行,但是行不通。
码
router.get('/hoteles/Eliminar/:idHotel',(req,res) => {
var idHotel = req.params.idHotel
console.log(idHotel);
var sql = 'DELETE FROM hotel WHERE idHotel = ?;';
conn.query(sql,[idHotel],(err,result,field) => {
if(err){
res.send({
'code' : 400,
'faild' : 'error ocurred Eliminar'
});
}else{
console.log('deleted ' + result.affectedRows + ' rows');
res.redirect('/root/hoteles/1');
}
});
});
输出值
:5
deleted 0 rows
应当注意,在其他数据库中查询之前,输出为:
(node:10899) [DEP0096] DeprecationWarning: timers.unenroll() is deprecated. Please use clearTimeout instead.
req.params.idHotel返回了
:6
所以我使用split()然后使用parseInt()
谢谢。
最佳答案
你的答案在下面
router.get('/hoteles/Eliminar/:idHotel', (req, res) => {
var idHotel = [];
idHotel.push(String(req.params.idHotel));
console.log(idHotel);
var sql = 'DELETE FROM hotel WHERE idHotel = ?';
conn.query(sql, idHotel, (err, result, field) => {
if (err) {
res.send({
'code': 400,
'faild': 'error ocurred Eliminar'
});
} else {
console.log('deleted ' + result.affectedRows + ' rows');
res.redirect('/root/hoteles/1');
}
});
});
不要在nodejs中使用分号。默认情况下将使用分号(在sql语句的末尾);
在link处详细了解有关sql nodejs的信息
关于mysql - 如何在ExpressJS上的mysql中删除行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50849284/