[英]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.