Kurze Antwort: Ja, es kann NULL oder doppelt sein Ich möchte erklären, warum ein Fremdschlüssel möglicherweise null oder eindeutig oder nicht eindeutig sein muss. Denken Sie zunächst daran, dass ein Fremdschlüssel einfach erfordert, dass der Wert in diesem Feld zuerst in einer anderen Tabelle (der übergeordneten Tabelle) vorhanden sein muss. Das ist alles, was ein FK per Definition ist.
Akzeptiert der Fremdschlüssel Nullwerte?
Dem Fremdschlüssel kann ein Constraint-Name zugewiesen werden. … Ein Fremdschlüssel, der Nullwerte enthält, kann nicht mit den Werten eines Elternschlüssels übereinstimmen, da ein Elternschlüssel per Definition keine Nullwerte haben kann. Allerdings ist ein Null-Fremdschlüsselwert immer gültig, unabhängig vom Wert eines seiner Nicht-Null-Teile.
Warum sind Nullwerte in Fremdschlüsseln erlaubt?
Beziehungen zwischen Eltern- und Kindtabellen definieren
Keine Beschränkungen für den Fremdschlüssel Wenn keine anderen Beschränkungen für den Fremdschlüssel definiert sind, kann eine beliebige Anzahl von Zeilen in der Kindtabelle auf die verweisen gleicher übergeordneter Schlüsselwert Dieses Modell erlaubt Nullen im Fremdschlüssel.
Wie erlaube ich Null im Fremdschlüssel?
Da die Fremdschlüssel-Einschränkung erfordert, dass der referenzierte Schlüssel eindeutig ist, ist das Beste, was Sie tun können, eine Zeile mit einem Schlüssel zuzulassen, der NULL ist. In diesem Fall müssen Sie die Primärschlüssel-Einschränkung durch eine Unique-Einschränkung (oder einen Index) ersetzen und die Sp alte Länder zulassen. country_id muss NULL sein.
Können wir Nullwerte in die Fremdschlüsselsp alte einfügen?
Ja, Sie können den Wert in der Fremdschlüsselsp alte auf Null setzen.