如果我有一個父表和一個子表,是否有可能在沒有「ON DELETE CASCADE」約束的情況下多刪除它們中的行?MySQL多刪除。是否可以多刪除引用的行?
在這個例子中:
create table a(id int primary key);
create table b(id int primary key, a_id int,
constraint fkb foreign key (a_id) references a(id));
難道不可能做這樣的事情,以刪除表A和B行? :-(
delete a, b
from b
inner join a on a.id = b.a_id
where a.id = ?;
Error Code: 1451. Cannot delete or update a parent row: a foreign key constraint fails
(`erasmusu6`.`b`, CONSTRAINT `fkb` FOREIGN KEY (`a_id`) REFERENCES `a` (`id`))
我想multidelete行,但不設置「ON DELETE
CASCADE」約束。此外,我需要一個WHERE
子句可以過濾DELETE
命令。這是可能的,或者我應該有?以使盡可能多的DELETE
S作爲在multidelete表
SET foreign_key_checks = 0;並在刪除SET foreign_key_checks = 1後; –