订单表
order_id,
parent_order_id,
customer_id,
payment_mode,
price ,
shipping_price,
billing_address_id,
shipping_address_id,
create_TS,
update_TS
订单商品
order_id,
order_item_id,
pos_code,
quantity,
unit_price,
shipping_price,
pickup_date,
create_TS,
update_TS,
business_id,
item_id,
delivery_id,
workflow_id,
订单调整表
order_adjustment_id,
order_item_id,
offer_id,
discount_value,
create_ts,
update_ts
下订单时,我将数据插入到这 3 个表和其他几个表中。所有这些都发生在交易中。目前,该应用程序使用 JDBC 与 MYSQL 数据库对话。
插入顺序是 1.订单表。 2.OrderItems表 3.Order_Adjustments表
订单id是订单商品表的外键,订单商品id是订单调整表的外键。
当客户下订单时,我根据商店将父订单分成子订单。 例如,如果购物车包含 store1 中的 item1 和 item2 store2 的 item3 和 item4
此单车将分成 2 个单独的订单(由于物流原因)
那么现在的问题是,
我需要知道订单商品表的相应订单 ID,同样需要知道订单调整表的相应订单商品 ID。
因此我单独触发查询而不是批量插入。 使用 jdbc 甚至有可能实现这样的目标吗?
最佳答案
您必须首先将查询触发到 1.Orders 表。
基于它从表 Orders 表中获取 MAX(order_id),然后将其用作其他子表的外键。
关于java - MySQL : multiple table insert with foreign key relationship,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33887142/