我有一个表叫:Orders (Id, FK_Customer_Id, Comments, PaymentMethod, DeliverTime),用来存储一个在线零售商网站的订单信息,还有一个表:Order_Items (Id, FK_Order_Id, FK_Product_Id, Quantity),用来存储订单的详细信息。
一旦用户提交订单,我需要将信息保存到两个表中,但我不知道如何解决并发问题。
因为,我应该先插入 Orders 表,然后获取 Order_Id 并将这个 Id 插入 Order_Items 表。我尝试使用“SELECT LAST_INSERT_ID() AS OrderId”。但是,如果我插入订单并且在我获得 ID 之前,其他人插入了另一个订单怎么办?那么上面的语句就会得到新插入的订单的Id,这已经不是我的订单了。
请帮助我,让我知道该怎么做,或者如果我以错误的方式设计订单/订单项。
PS我使用angular 2作为前端和node.js来创建APIs和MySQL作为数据库。
先感谢您。