Sto utilizzando un database MySQL. Nel mio modello di dati relazionali, ho due entità che si riferiscono 1: 1 l'una all'altra. Nel mio schema, viene impostata una relazione 1: 1 inserendo un campo FK in una delle due tabelle, che si riferisce al PK dell'altra tabella. Entrambe le tabelle hanno PK e sono entrambi BIGINT di incremento automatico.Vincolo di chiave esterna a due vie in una relazione 1: 1
Mi chiedo se sia possibile avere un comportamento ON DELETE CASCADE
su di essi che funziona in entrambe le direzioni.
, ad esempio 1: 1 B, significa che [la cancellazione di A elimina anche B] e [l'eliminazione di B cancella anche A].
Mi rendo conto che questo potrebbe non essere assolutamente necessario in termini di corretta progettazione dell'applicazione, ma mi chiedo solo se sia effettivamente possibile. Per quanto ricordo, non puoi mettere un vincolo FK su un PK.
+1 per l'argomento 'pollo o uovo'. ;-D – SparKot
@DoSparKot: la mia solita risposta per "cosa è venuto prima?" la domanda è "il gallo": p –
Hmm, questo è un punto valido a cui non ho pensato. Inoltre, solo il pensiero di avere un vincolo non riesce sull'inserto, poiché il valore di un campo auto-incrementato mi sta già facendo venire la nausea. (P.S. Il gallo è un maschio.Non è una lotta leale.) –