java - MySQL : multiple table insert with foreign key relationship

标签 java mysql rest jdbc e-commerce

订单表


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/

相关文章:

rest - 无需 CORS 直接上传到 S3(非浏览器)

java - 输出显示空值。如何解决

java - Google 静态 map API - 创建具有 1000 个点的图像

java - Spring Boot Azure CosmosDB NoClassDefFoundError : Could not initialize class com. azure.data.cosmos.internal.directconnectivity.rntbd.RntbdConstants

java - 再一次...... Java 应用程序中嵌入的 MySQL

json - Go Lang RESTful API 不工作 JSON

java - 使用FFMPEG时使用 '-acodec'选项时编解码器参数不正确

mysql - 如何重命名在mysql中用作外键的字段?

mysql - 如何访问 CFQUERY SUM 值

python - 使用 Django 为 Dojo 的 JsonRestStore 实现 Restful 服务器 - 哪些工具适合这项工作?