我正在尝试从 NodeJS 路由中删除 MYSQL 表中的一行。当我在 MySQL Workbench 中运行查询时,该查询本身运行良好。从 Node 执行时,该行不会被删除。我在服务器或客户端都没有收到任何错误消息。这是代码:
router.post('/bid_delete', async (req, res) => {
let bid_no = req.body['bid_no']
let qrBids= "SET SQL_SAFE_UPDATES = 0; DELETE FROM bids_hdr WHERE
bid_gen_id ='" + bid_no + "';"
await pool.query( qrBids, (err, result) => {
if (err) {
res.send(err)
} else {
res.json({success : true})
}
});
})
预先感谢您的任何指导。
最佳答案
在单独的查询中执行 SET SQL_SAFE_UPDTES = 0;
。
并使用占位符而不是串联将变量替换到查询中。
router.post('/bid_delete', async (req, res) => {
let bid_no = req.body['bid_no']
let qrBids= "DELETE FROM bids_hdr WHERE bid_gen_id = ?"
await pool.query( "SET SQL_SAFE_UPDATES = 0");
await pool.query( qrBids, [bid_no], (err, result) => {
if (err) {
res.send(err)
} else {
res.json({success : true})
}
});
})
关于mysql - NodeJS MYSQL 删除查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56671619/