Maison  >  Article  >  base de données  >  Comment puis-je autoriser les valeurs NULL dans une colonne de clé étrangère pour les métadonnées d'image MySQL ?

Comment puis-je autoriser les valeurs NULL dans une colonne de clé étrangère pour les métadonnées d'image MySQL ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 11:19:02730parcourir

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

Autoriser les clés étrangères NULL pour les métadonnées d'image MySQL

Le schéma de base de données que vous proposez pour un site Web d'images est confronté à un défi lors de la représentation d'éventuels indicateurs d'administration associés à images. En particulier, vous cherchez un moyen d'autoriser les valeurs NULL dans la colonne tblImageFlags.resolutionTypeID, qui est une clé étrangère vers une autre table.

Le problème :

tblImageFlags .resolutionTypeID établit une relation de clé étrangère avec la table luResolutionTypes sur la colonne resolutionTypeID. Cependant, lors de l'émission initiale d'un indicateur, il peut ne pas avoir de type de résolution logique et nécessite donc une valeur NULL. Pourtant, l'attribut NOT NULL sur la colonne empêche cela.

Solution :

Pour autoriser les valeurs NULL dans la colonne de clé étrangère, vous devez supprimer l'attribut NOT NULL from tblImageFlags.resolutionTypeID :

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

Avec cette modification, vous pouvez désormais attribuer NULL à résolutionTypeID lorsqu'un indicateur est émis pour la première fois, tout en conservant la relation de clé étrangère avec la table luResolutionTypes lorsqu'une résolution est déterminée.

Clarification des points bonus :

Dans le contexte des bases de données, la forme plurielle appropriée de « index » est « index », et non « indices ». Selon « Modern American Usage » de Bryan A. Garner, « index » est le pluriel préféré à des fins ordinaires, tandis que « indices » peut être autorisé dans des contextes techniques ou comme « indicateurs ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn