NodeJS MYSQL 删除查询
NodeJS MYSQL delete query
我正在尝试从 NodeJS 路由中删除 MYSQL table 中的一行。当我 运行 在 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})
}
});
})
提前感谢您的指导。
尝试按原样传递参数,例如。
let qrBids= "SET SQL_SAFE_UPDATES = 0; DELETE FROM bids_hdr WHERE bid_gen_id = '1';"
在单独的查询中执行 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})
}
});
})
我正在尝试从 NodeJS 路由中删除 MYSQL table 中的一行。当我 运行 在 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})
}
});
})
提前感谢您的指导。
尝试按原样传递参数,例如。
let qrBids= "SET SQL_SAFE_UPDATES = 0; DELETE FROM bids_hdr WHERE bid_gen_id = '1';"
在单独的查询中执行 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})
}
});
})