Question

J'ai 2 tables un appelé "avis" et l'autre "REVIEW_DESCRIPTION"

Si je fais une jointure pour obtenir toutes les données à la fois:

SELECT *
FROM reviews 
INNER JOIN reviews_description
ON reviews.reviews_id=reviews_description.reviews_id
WHERE reviews.customers_id = 54183

Sur la base de ce que je voudrais supprimer des lignes dans les deux tables qui correspondent à ces critères en un seul coup, des conseils?

Était-ce utile?

La solution

Oui, MySQL supporte les suppressions de plus d'une table dans une seule déclaration :

  

Pour la première syntaxe table multiple, les lignes correspondant uniquement dans les tables énumérées avant la clause FROM sont supprimés. Pour la seconde syntaxe table multiple, les lignes correspondantes seulement des tables répertoriées dans la clause FROM (avant la clause USING) sont supprimés. L'effet est que vous pouvez supprimer des lignes de plusieurs tables en même temps et ont des tables supplémentaires qui ne sont utilisés que pour la recherche ...

Premier exemple de syntaxe multi-table:

DELETE reviews, reviews_description 
  FROM reviews r
  JOIN reviews_description rd
 WHERE reviews.reviews_id = reviews_description.reviews_id
   AND reviews.customers_id = 54183

Autres conseils

Sauf si vous avez on cascade delete ou une configuration de delete trigger vous devez utiliser 2 déclarations

serait en cascade l'aide de suppression?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top