Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Löschen Sie aus der Tabelle, indem Sie die Spalte einer anderen Tabelle verwenden

Sie könnten die temporäre Tabelle vermeiden und mysql loopen, Sie können die beiden Tabellen in einer einzigen Abfrage löschen und eine Sunquery für die temporären Daten verwenden

   DELETE t1, t2
   FROM AppCoverLetter t1
   INNER JOIN (
     SELECT AppId 
     FROM ApplyData.AppFormData 
     where lower(Email) = lower(_email_)
   ) t3 ON t1.AppID = t3.AppId
   INNER JOIN AppError t2 ON t2.AppID = t3.AppId;

oder wenn Sie mehr Tisch haben

   DELETE t1, t2, tx
   FROM AppCoverLetter t1
   INNER JOIN (
     SELECT AppId 
     FROM ApplyData.AppFormData 
     where lower(Email) = lower(_email_)
   ) t3 ON t1.AppID = t3.AppId
   INNER JOIN AppError t2 ON t2.AppID = t3.AppId
   INNER JOIN table3 tx ON tx.AppID = t3.AppId;