Salve

ho due tabelle così strutturate:

tabella_uno
id
nuemro_riferimento

tabella_due
id
id_tabella_uno (default value 0)
numero_riferimento

i campi tabella_uno.id e tabella_due.id_tabella_uno sono in relazione tra loro; esiste una chiave esterna sul delete che, quando cancello una riga delal tabella_uno, mi cancella tutte le righe della tabella_due dove tabella_uno.id = tabella_due.id_tabella_uno

e fino a qui non ci sono problemi

può capitare, però, di dover inserire anche un record nella tabella_due che NON SIA collegato alla tabella_uno
per fare ciò ho creato un record vuoto nella tabella_uno con id zero in modo che la chiave esterna non dia errore;

a questo punto sorge un altro problema, il campo nuemro_riferimento deve essere lo stesso tra le due tabelle, nel caso ci sia una relazione tra le tabelle; creo una chiave esterna colelgando sia tabella_uno.id e tabella_due.id_tabella_uno che tabella_uno.numero_riferimento e tabella_due.numero_riferimento on update cascade.

in questo modo se cambio (update) il numero di riferimento nella tabella_uno, cambierà anche il numero di riferimento nella tabella_due dove tabella_uno.id = tabella_due.id_tabella_uno (anche questa cosa funziona correttamente)

questa chiave però mi da errore, sempre nel caso di inserimento di un record nella tabella_due non colelgato alla tabelal uno. perchè durante l'inserimento non esiste una relazione tra i campi tabella_uno.numero_riferimento e tabella_due.numero_riferimento

come posso fare ad ovviare il problema? Mi conviere creare due tabelle? una tabella_due con la relazione su id_tabella_uno, e una tabella_due_bis senza relazione (e quindi senza campo id_tabella_uno)

sono un po confuso, spero di essere stato chiaro