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})
  }  
 });  
})