MySQL-Fremdschlüssel: Umgang mit Nullable-Werten
Sie haben ein Schema zur Darstellung von Bildern und den zugehörigen Flags entworfen. Der Flag-Auflösungstyp ist anfänglich nullbar, sollte jedoch eine Fremdschlüsseleinschränkung erzwingen, sobald ein Wert festgelegt ist.
In MySQL können Sie eine Fremdschlüsselspalte so konfigurieren, dass NULL zulässig ist. Dies wird erreicht, indem die NOT NULL-Einschränkung aus der Spaltendefinition entfernt wird. Indem Sie NULL zulassen, ermöglichen Sie der Spalte, sowohl gültige Auflösungstyp-IDs als auch NULL-Werte zu akzeptieren.
Hier ist das geänderte Schema:
CREATE TABLE tblImageFlags ( imageFlagID INT UNSIGNED NOT NULL AUTO_INCREMENT, imageID INT UNSIGNED NOT NULL, flagTypeID INT UNSIGNED NOT NULL, resolutionTypeID INT UNSIGNED, -- Removed NOT NULL constraint ... );
Jetzt können Sie Zeilen mit NULL-Auflösung in tblImageFlags einfügen Typen. Wenn später eine Lösung ermittelt wird, können Sie die Spalte mit der entsprechenden Auflösungstyp-ID aktualisieren.
Klarstellung zu „Indizes“ und „Indizes“
Im Kontext von Bei Datenbanken ist der Plural von „Index“ „Indizes“ und nicht „Indizes“. Dies ist die bevorzugte Pluralform für den alltäglichen Gebrauch. Während „Indizes“ manchmal in technischen Zusammenhängen vorkommen, wird ihre Verwendung als prätentiös und weniger verbreitet als „Indizes“ angesehen.
Das obige ist der detaillierte Inhalt vonWie kann ich mit Nullable-Werten in MySQL-Fremdschlüsseleinschränkungen umgehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!