我从MYSQL中的表中删除选定的行,这两个表都有外键。 删除d,b从A作为b内部连接B作为d在b.bid = d.bid其中b.name像'%xxxx%';
MYSQL抱怨,即使我想从两个表中删除外键:mysql删除和外键约束
错误:无法删除或更新父行,外键约束失败(yyy/d
,约束fk_d_bid
外键(bid
)参考文献b
(bid
)ON DELETE NO ACTION ON UPDATE NO ACTION)
什么这里是最好的解决方案从两个表中删除?
我从MYSQL中的表中删除选定的行,这两个表都有外键。 删除d,b从A作为b内部连接B作为d在b.bid = d.bid其中b.name像'%xxxx%';
MYSQL抱怨,即使我想从两个表中删除外键:mysql删除和外键约束
错误:无法删除或更新父行,外键约束失败(yyy/d
,约束fk_d_bid
外键(bid
)参考文献b
(bid
)ON DELETE NO ACTION ON UPDATE NO ACTION)
什么这里是最好的解决方案从两个表中删除?
更改此限制以使用ON DELETE CASCADE
- 这意味着如果删除了一行,那么任何“子”行也会自动删除。
当然要小心使用CASCADE - 只有在必要时才使用它。如果你过分热心,并且意外地做了一个妥善放置的DELETE,它可能最终会删除你的数据库的一半。 :)
我想我看到你想要做什么
如果你不能改变表结构,那么你可以使用2条语句,先用子选择
的B删除其中出价IN(选择来自A的出价,其中名称像'%xxxx%');
从A中删除名称如'%xxxx%';
好主意,但我得到了你不能在FROM子句中指定目标表'B'进行更新 – user121196 2010-05-05 03:34:21