gpt4 book ai didi

JavaScript MySql 通过 URL 进行多行 INSERT 语句

转载 作者:行者123 更新时间:2023-11-29 09:49:03 24 4
gpt4 key购买 nike

美好的一天!我正在尝试使用 API 通过 url 将对象数组发送到我的 MySql 数据库。

这是我的 API 上的代码:

app.get("/orderdetails/add", (req, res) => {
const {
item__,
Qty_Ordered,
Unit_Price,
Ext_Price
} = req.query;
const INSERT_ORDERDETAILS_QUERY = `INSERT INTO oe_details (item__,
Qty_Ordered, Unit_Price, Ext_Price) VALUES('${item__}', '${Qty_Ordered}',
'${Unit_Price}', '${Ext_Price}')`;
connection1.query(INSERT_ORDERDETAILS_QUERY, (err, results) => {
if (err) {
return res.send(err);
} else {
return res.send("successfully added order details");
}
});
});

下面是我的应用程序上的功能:

addOrderDetails = _ => {
const o = this.props.o;
const summary = o.filter(function(obj) {
return obj.Quantity >= 1;
});
var url = "";
summary.forEach(function(e) {
url +=
"item__=" +
e.ExternalID +
"&Qty_Ordered=" +
e.Quantity +
"&Unit_Price=" +
e.Price +
"&Ext_Price=" +
e.ExtPrice +
"&";
});
url = url.trim("&");
fetch(`http://localhost:4000/orderdetails/add?${url}`).catch(err =>
console.error(err)
);
};

当我运行 addOrderDetails 时,我最终将以下语句发送到 MySql:

INSERT INTO oe_details (item__, Qty_Ordered, Unit_Price, Ext_Price) 
VALUES('B-2080,B-2081', '8,5', '18.75,18.75', '150,93.75')

这是错误的...有没有办法让我使用相同的概念向 mysql 数据库添加多行?

如果我只需要添加 1 行,它就可以正常工作...

非常感谢您的帮助!

谢谢

最佳答案

要插入多行,MySQL 语句应该类似于

INSERT INTO oe_details (item__, Qty_Ordered, Unit_Price, Ext_Price)
VALUES('B-2080,B-2081', '8,5', '18.75,18.75', '150,93.75'),
VALUES('C-2080,C-2081', '8,5', '18.75,18.75', '150,93.75'),
VALUES('B-2080,B-2081', '8,5', '18.75,18.75', '150,93.75');

您可以将 API 更改为 POST 调用并向其发送数据数组,然后在 API 中您可以形成上述查询。

您可以使用简单的 for 循环来创建此类查询。

let summary = [1,2,3,4] // dummy data
let INSERT_ORDERDETAILS_QUERY = `INSERT INTO oe_details (item__, Qty_Ordered, Unit_Price, Ext_Price) VALUES`
summary.forEach(function(data, i) {
INSERT_ORDERDETAILS_QUERY = `${INSERT_ORDERDETAILS_QUERY} (${data})`;
INSERT_ORDERDETAILS_QUERY = (i !== summary.length - 1) ? `${INSERT_ORDERDETAILS_QUERY}, ` : `${INSERT_ORDERDETAILS_QUERY};`;
})

希望这有帮助!

关于JavaScript MySql 通过 URL 进行多行 INSERT 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55154078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com