Domanda

Ho 2 tabelle uno chiamato "revisione" e l'altro "REVIEW_DESCRIPTION"

Se faccio un join per ottenere tutti i dati da entrambi:

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

In base a questo vorrei eliminare righe in entrambe le tabelle che corrispondono a questo criterio in un solo colpo, qualche consiglio?

È stato utile?

Soluzione

Sì, MySQL supporta le eliminazioni da più di una tabella in un unico dichiarazione :

  

Per la prima sintassi più tabelle, solo corrispondenti righe delle tabelle elencate prima clausola FROM vengono cancellati. Per la seconda sintassi più tabelle, solo corrispondenti righe delle tabelle elencate nella clausola FROM (prima della clausola USING) vengono eliminate. L'effetto è che è possibile eliminare le righe da più tabelle allo stesso tempo e hanno tabelle aggiuntive che vengono utilizzati solo per la ricerca ...

In primo esempio di sintassi multi-tavolo:

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

Altri suggerimenti

A meno che non si dispone di on cascade delete o un setup delete trigger è necessario usare 2 dichiarazioni

sarebbe cascata aiuto di eliminazione?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top