簡體   English   中英

無法使用Node.js更新Mysql數據庫

[英]Unable to Update Mysql Database using Node.js

嘗試使用Node.js更新Mysql數據庫時,我不斷收到語法錯誤。 我正在嘗試更新表單。 我不確定我是否有正確的語法。

我的所有其他請求都有效,例如插入表單,從from中檢索數據,從表單中刪除除更新請求之外的其他請求。 我在下面嘗試過兩(2)個選項但兩個都不起作用。

我究竟做錯了什么? 有更新表單的替代方法嗎?



        <OPTION 1>
         app.post('/edit',(req,res)=>{ 
         var sql = "UPDATE stores (ID, Station, Address, `Monthly C-Store 
         Sales`, Operator, `Top SKU`) \ VALUES (?, ?, ?, ?, ?, ?)"


         id = req.body.ID;
         station = req.body.Station;
         address = req.body.Address;
         monthlycstoresales = req.body.MonthlyCStoreSales;
         operator = req.body.Operator;
         topsku = req.body.TopSKU;


        db.query(sql, [id, station, address, monthlycstoresales, operator, 
                 topsku], (err, results, field) => {
        if (err) {
        console.log(err);
        res.sendStatus(500);
        return;
        } else{
         res.send(results);
         };
         });
         });
    ``````````````````````````````````````````````````````````````````````````````
          <OPTION 2>
          app.post('/edit',(req,res)=>{ 
          var params = [req.body, req.query.id]

           db.query('UPDATE FROM stores WHERE id = ?', [params],(err, rows, 
                   fields)=>{
             if(!err)
            res.redirect('/alldata');
            //console.log('Update Successful');  
            else
            console.log(err);
            //return;

            });
            });


````````````````````````````````````````````````````````````````````````
CORRECTED UPDATED SYNTAX
       app.post('/edit',(req,res)=>{ 

       var sql ="UPDATE stores SET Station = ?, Address = ?, `Monthly C-Store 
       Sales` = ?, Operator = ?, `Top SKU` = ? WHERE id = ?"


       station = req.body.Station;
       address = req.body.Address;
       monthlycstoresales = req.body.MonthlyCStoreSales;
       operator = req.body.Operator;
       topsku = req.body.TopSKU;
       id = req.body.ID;


       db.query(sql, [station, address, monthlycstoresales, operator, topsku, 
       id], 
      (err, results, field) => {

        if (err) {
        console.log(err);
        res.sendStatus(500);
        return;
        } else{
        res.send(results);
        };
        });
        });
















update語句的語法不正確。 它應該是這樣的(當然你需要按相應的順序綁定值):

UPDATE stores
SET    `Station` = ?,
       `Address` = ?, 
       `Monthly C-Store Sales` = ?,
       `Operator` = ?,
       `Top SKU`=?
WHERE  id = ?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM