NodeJS MYSQL删除查询

时间:2019-06-19 15:48:44

标签: mysql node.js delete-row

我正在尝试从NodeJS路由中删除MYSQL表中的一行。当我在MySQL Workbench中运行查询时,查询本身可以正常工作。从节点执行时,该行不会被删除。我在服务器或客户端均未收到任何错误消息。这是代码:

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

谢谢您的指导。

2 个答案:

答案 0 :(得分: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})
  }  
 });  
})

答案 1 :(得分:0)

尝试按原样传递参数。

let qrBids= "SET SQL_SAFE_UPDATES = 0; DELETE FROM bids_hdr WHERE bid_gen_id = '1';"