Les clés étrangères dans MySQL peuvent être nulles, prenant en charge certains scénarios commerciaux tels que les relations facultatives, les suppressions en cascade et l'intégrité des données. Lorsque la valeur est NULL, les lignes de la table enfant ne peuvent avoir aucune association correspondante avec la table parent.
Les clés étrangères peuvent-elles être nulles dans MySQL ?
Réponse : Oui.
Dans MySQL, les clés étrangères peuvent être vides, autorisant les lignes de la table enfant qui ne sont liées à aucun enregistrement de la table parent.
Détails :
Une clé étrangère est une contrainte de base de données qui force chaque ligne d'une table enfant à être associée à une ligne de la table parent. Cependant, pour prendre en charge certains scénarios commerciaux, MySQL autorise les clés étrangères à être nulles.
Lorsque la clé étrangère est vide, cela signifie que la ligne de la table enfant ne correspond à aucune ligne de la table parent. Ceci est utile dans les situations suivantes :
Remarque :
Bien que les clés étrangères puissent être nulles, cette fonctionnalité doit être utilisée avec prudence. Des clés étrangères vides peuvent entraîner des incohérences de données et une dégradation des performances des requêtes. En règle générale, lors du renforcement de l'intégrité des données, il est recommandé d'utiliser des clés étrangères non nulles.
Comment définir sur null :
Dans MySQL, vous pouvez définir une clé étrangère sur null en spécifiant NULL
lors de la création d'une contrainte de clé étrangère. Par exemple :
<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>
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!