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