Mysql
 sql >> Base de données >  >> RDS >> Mysql

Suppression de plusieurs tables avec des contraintes étrangères

Le plus simple serait de supprimer de chaque table individuellement :

-- Remove all connections from A which reference
-- the B-rows you want to remove
DELETE FROM A_has_B
WHERE B_id IN (1,2,4);

-- Remove all connections from C which reference
-- the B-rows you want to remove
DELETE FROM C_has_B
WHERE B_id IN (1,2,4);

-- Finally remove the B-rows
DELETE FROM B
WHERE B_id IN (1,2,4);

MySQL vous permet également de supprimer plusieurs tables en une seule instruction. Mais il n'y a aucun moyen de contrôler l'ordre des suppressions. À partir du manuel :