【发布时间】:2022-01-03 16:06:42
【问题描述】:
基本上我有一个 createorder 需要将订单添加到数据库中,并将订单中的所有产品添加到 Orderline 额外表中。
一直在尝试不同的方法来使第二个查询工作,但唯一插入到数据库中的是来自第一个查询的数据。
第二个查询也需要使用第一个查询的插入顺序中的id。因为数据库对订单的 id 使用自动增量。
CreateOrder: (req) => {
return new Promise((resolve, reject) => {
const sqlInsert = 'INSERT INTO web3.orders (Created, firstName, lastName, street, number, postalCode, city, telephone, email, totalPrice) VALUES (?,?,?,?,?,?,?,?,?,?);';
const sqlInsert2 = 'INSERT INTO web3.orderline (orderId,productId,qty,price) VALUES (?,?,?,?);';
db.query(sqlInsert, [
req.body.Created,
req.body.firstName,
req.body.lastName,
req.body.street,
req.body.number,
req.body.postalCode,
req.body.city,
req.body.telephone,
req.body.email,
req.body.totalPrice],
(err, result, fields) => {
if (err) {
reject(err);
}
else {
resolve(result);
}
});
db.query(sqlInsert2,
[
result.insertId,
req.body.producten.id,
req.body.producten.cartQuantity,
req.body.producten.price], (err, result, fields) => {
if (err) {
reject(err);
} else {
resolve(result);
}
});
});
},
}
【问题讨论】:
标签: javascript mysql node.js reactjs promise