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

Ich möchte Zeilen aus beiden Tabellen löschen

  1. Um Einträge aus beiden Tabellen zu löschen m und f out ofjoined results:

    DELETE m,f FROM master m
    INNER JOIN field f ON m.id = f.label_id
    WHERE f.id='13';
    
  2. Um Einträge aus Tabelle m zu löschen aus den verbundenen Ergebnissen:

    DELETE m FROM master m
    INNER JOIN field f ON m.id = f.label_id
    WHERE f.id='13';
    
  3. Um Einträge aus Tabelle f zu löschen aus den verbundenen Ergebnissen:

    DELETE f FROM master m
    INNER JOIN field f ON m.id = f.label_id
    WHERE f.id='13';
    

Hinweis: Eine bessere Methode könnte darin bestehen, eine Fremdschlüsseleinschränkung mit dem Verhalten ON DELETE CASCADE zu setzen . Aber dafür brauchen Sie InnoDb als Ihre Speicher-Engine.