Heim >Datenbank >MySQL-Tutorial >Wie kann ich NULL-Werte in einer Fremdschlüsselspalte für MySQL-Bildmetadaten zulassen?

Wie kann ich NULL-Werte in einer Fremdschlüsselspalte für MySQL-Bildmetadaten zulassen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 11:19:02806Durchsuche

How Can I Allow NULL Values in a Foreign Key Column for MySQL Image Metadata?

Zulassen von NULL-Fremdschlüsseln für MySQL-Bildmetadaten

Ihr vorgeschlagenes Datenbankschema für eine Bildwebsite steht vor einer Herausforderung, wenn es darum geht, mögliche Admin-Flags darzustellen, die damit verbunden sind Bilder. Insbesondere suchen Sie nach einer Möglichkeit, NULL-Werte in der Spalte tblImageFlags.resolutionTypeID zuzulassen, die mit einem Fremdschlüssel für eine andere Tabelle verknüpft ist.

Das Problem:

tblImageFlags .resolutionTypeID stellt eine Fremdschlüsselbeziehung mit der luResolutionTypes-Tabelle in der ResolutionTypeID-Spalte her. Bei der ersten Ausgabe eines Flags verfügt es jedoch möglicherweise nicht über einen logischen Auflösungstyp und erfordert daher einen NULL-Wert. Das NOT NULL-Attribut der Spalte verhindert dies jedoch.

Lösung:

Um NULL-Werte in der Fremdschlüsselspalte zuzulassen, sollten Sie das NOT NULL-Attribut entfernen von tblImageFlags.resolutionTypeID:

<code class="sql">ALTER TABLE tblImageFlags
MODIFY COLUMN resolutionTypeID INT UNSIGNED NULL;</code>

Mit dieser Änderung können Sie ResolutionTypeID jetzt NULL zuweisen, wenn ein Flag zum ersten Mal ausgegeben wird, während die Fremdschlüsselbeziehung zur luResolutionTypes-Tabelle beibehalten wird, wenn eine Auflösung bestimmt wird.

Klarstellung der Bonuspunkte:

Im Kontext von Datenbanken ist die richtige Pluralform von „Index“ „Indizes“, nicht „Indizes“. Laut „Modern American Usage“ von Bryan A. Garner ist „Indizes“ der bevorzugte Plural für gewöhnliche Zwecke, während „Indizes“ in technischen Kontexten oder als „Indikatoren“ zulässig sein können.

Das obige ist der detaillierte Inhalt vonWie kann ich NULL-Werte in einer Fremdschlüsselspalte für MySQL-Bildmetadaten zulassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn