| Gestire le Foreign Keys in MySQL |
| Database & Server |
| Giovedì 22 Dicembre 2011 17:26 |
|
Creare Foreign Key con MySQL è abbastanza semplice. Create le tabelle di tipo InnoDB e in fase di creazione della tabella aggiungete le FK:
Come vedete abbiamo impostato una FK che si riferisce ad una tabella editore. Il problema però è come gestire poi le relazioni quando andiamo a modificare/eliminare dei valori nella tabella collegata. Se vedete qua abbiamo usato NO ACTION:
Ci sono però diverse altre azioni disponibili. Ve le elenco. CASCADE La cancellazione o la modifica di un record nella tabella padre genererà la cancellazione o la modifica dei record collegati nella tabella figlia. Quindi se cancelliamo un editore cancelleremo tutti i libri collegati; se modifichiamo un editore cambiando, ad esempio l'id, sostituiremo il valore del campo editore anche nella tabella libri. SET NULL Attivabile solo se il campo della tabella figlio non è impostato su NOT NULL. In caso di eliminazione o modifica di un record nella tabella padre i record collegati della tabella figlia verranno modificati impostando il campo NO ACTION o RESTRICT Con queste due azioni il processo viene bloccato. SET DEFAULT Definita nello standard SQL ma non implentata in MySQL. |
| Ultimo aggiornamento Giovedì 22 Dicembre 2011 17:44 |


