问题描述
我尝试先插入transactions_detail,然后在transactions表中获取total_cost。
transactions_detail
detail_id,product_id,transactions_id,product_quantity
transactions
transactions_id,user_id,total_price,transactions_date
如何让transactions_detail表插入时,先id_transactions为null,然后如果事务表被填充,则两个表之间的id_transactions匹配
解决方法
您不能在 MySQL 中执行此操作。
要暂时打破引用约束,您需要数据库引擎实现“可延迟约束”,不幸的是 MySQL 没有实现这个标准 SQL 功能。
您需要将数据库引擎切换到 PostgreSQL 或 Oracle 才能执行此操作。
在任何情况下,约束只能在交易期间无效。在交易中发出 COMMIT
的那一刻,所有约束都必须有效。这似乎是您的用例。