Originariamente inviato da lucker
In questo modo se io cancello l' autore di un articolo, anche l'articolo verrà cancellato in automatico ? oppure ho sbagliato la logica ?
Non è così che funziona.
Sostanzialmente la chiave esterna nella tabella "articoli" ti garantisce che tutti gli articoli presenti in questa tabella presentano un valore di "autore" realmente esistente nella tabella "autore".
Per effettuare l'operazione che desideri devi impostare un evento "ON DELETE" su quella chiave esterna che specifichi, appunto, che le tuple il cui autore viene cancellato dovranno essere anch'esse cancellate.
Codice PHP:
CREATE TABLE autore (
idautore,
nome,
cognome,
PRIMARY KEY (idautore)
);
CREATE TABLE articoli (
idarticolo,
idautore,
titolo,
FOREIGN KEY (idautore) REFERENCES autore(idautore) ON DELETE CASCADE
);
per la sintatti precisa fai riferimento al manuale di MySQL, qui ho un po abbozzato