[英]How to insert into Orders table and Order Items table in MySQL by NodeJS
我有一个表: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,这不再是我的订单。
请帮助我,让我知道该怎么做,或者如果我以错误的方式设计了order / orderItem。
PS我使用angular 2作为前端,使用node.js创建API,并使用MySQL作为数据库。
先感谢您。
我将分开操作。 这将防止插入记录的任何意外“竞争”影响。
因此,首先,插入订单。
然后,第二步,通过使用诸如mysql_insert_id()之类的东西或与之等效的node.js之类的“插入ID”来确认插入查询是否成功。
然后,第三,一旦有了该ID,就可以安全地插入订单的详细信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.