前言:作为一个跛脚后端,最近想实现一个功能,就是在前端提交数据到后端时,一次性插入多条数据,我直接用的循环遍历,其实最优的解决方案应该时拼接sql语句。我的方法也能实现,只是性能上不好,因为会执行多次。
router.get('/addDingdan', (req, res) => {
const arr = JSON.parse(req.query.dingdanArr);
console.log(arr)
let sql = `INSERT INTO dingdan(title,img,zhizuo,num,yuanliao,money,tel) VALUES(?,?,?,?,?,?,?)`
for(let i=0;i<arr.length;i++){
db.query(sql,[arr[i].title,arr[i].img,arr[i].zhizuo,arr[i].num,arr[i].yuanliao,arr[i].money,`${req.query.tel}`],function(err,data){
if(err){
console.log(err)
if(i==arr.length-1){
res.send({
code:500,
msg:"订单提交失败!",
});
}
}else {
console.log(data);
if(i==arr.length-1){
res.send({
msg:"订单提交成功!",
code:200
});
}
}
});
}
});
|