Ci sono diversi modi in cui questo problema potrebbe verificarsi:
1-Table Z ha dati errati (non è sicuro del perché o del modo in cui è entrato in primo piano). Diventa quindi una decisione aziendale come cosa fare con i dati cattivi. In genere, è necessario segnalare questi (cattivi) dati alle imprese e lasciarli decidere. Quindi scegli un approccio appropriato per risolvere il problema.
2-Se la tabella X o tabella Y utilizza ID generati automaticamente e la tabella Z dati fa riferimento a tali ID, è possibile che si verifichi questo problema quando si tenta di caricare la tabella Z (supponendo che siano già state caricate tutte le righe in X e Y con successo). In questo caso, si carica la tabella Z senza forzare il vincolo FK (allentare il vincolo prima di caricare Z), caricare Z e quindi ricostruire il vincolo in un passaggio separato.
Come sviluppatore o DBA, non butti via i dati di produzione senza un esplicito accordo con l'utente. Inoltre, consente di conservare i backup.