DELETE record di due tabelle

macchiavelli.ivan

Utente Attivo
7 Dic 2012
67
0
0
Salve.
Come posso fare una stringa unica di DELETE su due tabelle?
ho due tabelle:

1) lezioni

*id
...
...
...
*id_ins

2) maestri

*id
...
...
...

Se volessi cancellare i record della tabella lezioni e della tabella maestri, dove id e id_ins hanno lo stesso valore farei:

$sql1 = "DELETE FROM lezioni WHERE id_ins='$_GET[id]'";
$sql2 = "DELETE FROM maestri WHERE id='$_GET[id]'";

Ma come posso farne una stringa unica?
Grazie in anticipo.
 
Applicando l'integrità referenziale fa tutto ok automatico semplicemente cancellando la tupla da una tabella allora vengono eliminate a cascata tutte le tuple che hanno quell'id come foreign key.Devi avere MySQL 4 o superiore e usare tabelle di tipo INNODB. Solo con quelle l'integrita' referenziale funziona. Guarda qui per vedere di cosa si tratta.
Oppure puoi usare CASCADE, cito:
CASCADE: Delete or update the row from the parent table, and automatically delete or update the matching rows in the child table. Both ON DELETE CASCADE and ON UPDATE CASCADE are supported. Between two tables, do not define several ON UPDATE CASCADE clauses that act on the same column in the parent table or in the child table.
Per quanto riguarda la tua domanda di per sè, non credo che tu possa eliminare due record in due tabelle diverse solo con un comando DELETE.
 

Discussioni simili