Heim >Datenbank >MySQL-Tutorial >Können Fremdschlüssel in MySQL leer sein?
Fremdschlüssel in MySQL können null sein und unterstützen bestimmte Geschäftsszenarien wie optionale Beziehungen, kaskadierende Löschvorgänge und Datenintegrität. Bei der Einstellung NULL können untergeordnete Tabellenzeilen keine übereinstimmende Zuordnung zur übergeordneten Tabelle haben.
Können Fremdschlüssel in MySQL null sein?
Antwort: Ja.
In MySQL können Fremdschlüssel leer sein, sodass Zeilen in der untergeordneten Tabelle zulässig sind, die nicht mit Datensätzen in der übergeordneten Tabelle verknüpft sind.
Details:
Ein Fremdschlüssel ist eine Datenbankeinschränkung, die erzwingt, dass jede Zeile in einer untergeordneten Tabelle einer Zeile in der übergeordneten Tabelle zugeordnet wird. Um bestimmte Geschäftsszenarien zu unterstützen, lässt MySQL jedoch zu, dass Fremdschlüssel null sind.
Wenn der Fremdschlüssel leer ist, bedeutet dies, dass die Zeile in der untergeordneten Tabelle mit keiner Zeile in der übergeordneten Tabelle übereinstimmt. Dies ist in den folgenden Situationen nützlich:
Hinweis:
Während Fremdschlüssel null sein können, sollte diese Funktion mit Vorsicht verwendet werden. Leere Fremdschlüssel können zu Dateninkonsistenzen und einer verminderten Abfrageleistung führen. Normalerweise wird bei der Durchsetzung der Datenintegrität die Verwendung von Fremdschlüsseln ungleich Null empfohlen.
So setzen Sie ihn auf Null:
In MySQL können Sie einen Fremdschlüssel auf Null setzen, indem Sie beim Erstellen einer Fremdschlüsseleinschränkung NULL
angeben. Zum Beispiel:
<code class="sql">CREATE TABLE child_table ( child_id INT PRIMARY KEY, parent_id INT, FOREIGN KEY (parent_id) REFERENCES parent_table(parent_id) ON DELETE SET NULL );</code>
Das obige ist der detaillierte Inhalt vonKönnen Fremdschlüssel in MySQL leer sein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!