Mysql多表关联删除(多外键)

多表关联,存在多个外键,级联删除

需要先取消外键约束,才能删除对应的表。删除完后,将外键约束设置上!! 记得删除时开启事务!

Code

-- 开启事务
START TRANSACTION;
-- 取消外键约束 才能删除表
SET foreign_key_checks = 0;

-- 删除航段
delete os from order_itinerary oi left join flight_order  f on  f.id = oi.order_id  left join order_segment os on os.itinerary_id = oi.id	WHERE f.cid = "8000yiEterm"
-- 删除行程
delete oi FROM flight_order f LEFT JOIN order_itinerary oi ON f.id = oi.order_id WHERE f.cid = "8000yiEterm"
-- 删除乘客
delete op FROM flight_order f LEFT JOIN order_passenger op ON f.id = op.order_id WHERE f.cid = "8000yiEterm"

-- 删除报表
DELETE ort  FROM flight_order f LEFT JOIN order_report ort ON f.id = ort.order_id WHERE f.cid = "8000yiEterm";
-- 最后删除订单
DELETE f FROM flight_order f WHERE f.cid = "8000yiEterm";
-- 设置外键约束
SET foreign_key_checks = 1;
-- 提交事务
COMMIT;
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值