我已将外键创建为 ON DELETE RESTRICT
但有时我需要在删除父记录的同时删除子记录。我不能使用“on delete cascade”,因为我更需要这种限制。那么,有没有任何方法可以在运行时使用任何关键字或类似于下面的查询中的内容来更改外键的行为呢?
delete * from table1 where ID='3' CASCADE CHILD;
或者
delete * from table1 where ID='3' SET foreign_key_behavior= 'ON DELETE CASCADE';
1条答案
按热度按时间dly7yett1#
不,如果没有使用on delete cascade选项定义外键约束,则没有强制特殊级联删除的语法。
尽管@raymondnijland在注解中给出了建议,但在join中对两个表执行delete操作在mysql中是行不通的。
使用MySQL5.6的演示:
您必须对每个子表执行单独的delete,然后对父表执行delete。