我有一个名为:orders的表(ID,fk_customer_id,注释,paymentmethod,delivertime(,该表用于存储在线零售商网站的订单信息,以及一个表格:order_items(id,fk_order_id,fk_product_id,数量(,以存储订单的详细信息。
用户提交订单后,我需要将信息保存到两个表,但我不知道如何解决并发问题。
因为,我应该首先插入订单表,然后获取order_id并将此ID插入order_items表。我尝试使用"选择last_insert_id((作为OrderID"。但是,如果我插入秩序,并且在获得ID之前,其他人会插入另一个订单呢?那么上述语句将获得新插入顺序的ID,这不再是我的订单。
请帮助我,让我知道该怎么做,或者如果我以错误的方式设计订单/订单。
P.S。i m使用Angular 2作为前端和Node.js创建API和MySQL作为db。
预先感谢您。
我会将操作分开。这将防止插入记录的任何意外的"种族"影响。
因此,首先,插入订单。
然后,其次,确认插入查询是通过使用mysql_insert_id((或任何node.js等效的内容的"插入ID"而成功的。
然后,第三,一旦拥有该ID,就可以安全地插入订单的详细信息。