Es ist keine gute Idee, eine Fremdschlüsseleinschränkung auf 0 zu setzen, da Ihre Datenbank sonst nicht sicherstellen würde, dass die referenzielle Integrität nicht verletzt wird. Dies kann zu ungenauen, irreführenden oder unvollständigen Daten führen.
Sie erstellen einen Fremdschlüssel aus einem Grund: Alle Werte in der untergeordneten Spalte müssen mit einem Wert in der übergeordneten Spalte übereinstimmen. Wenn es keine Fremdschlüsseleinschränkungen gibt, kann eine untergeordnete Zeile einen Wert haben, der sich nicht in der übergeordneten Zeile befindet, was zu ungenauen Daten führen würde.
Angenommen, Sie haben eine Website, auf der sich Schüler anmelden können, und jeder Schüler muss sich für ein Konto als Benutzer registrieren. Sie haben eine Tabelle für Benutzer-IDs mit der Benutzer-ID als Primärschlüssel. und eine weitere Tabelle für Studentenkonten mit der Studenten-ID als Spalte. Da jeder Schüler eine Benutzer-ID haben muss, ist es sinnvoll, die Schüler-ID aus der Schülerkonten-Tabelle zu einem Fremdschlüssel zu machen, der auf die Primärschlüssel-Benutzer-ID in der Benutzer-ID-Tabelle verweist. Wenn keine Fremdschlüsselprüfungen durchgeführt werden, hat ein Schüler möglicherweise eine Schüler-ID und keine Benutzer-ID. Dies bedeutet, dass ein Schüler ein Konto erhalten kann, ohne ein Benutzer zu sein, was falsch ist.
Stellen Sie sich vor, es passiert mit einer großen Datenmenge. Deshalb benötigen Sie die Fremdschlüsselprüfung.
Es ist am besten herauszufinden, was den Fehler verursacht. Höchstwahrscheinlich versuchen Sie, aus einer übergeordneten Zeile zu löschen, ohne aus einer untergeordneten Zeile zu löschen. Versuchen Sie, aus der untergeordneten Zeile zu löschen, bevor Sie aus der übergeordneten Zeile löschen.