Maison > base de données > tutoriel mysql > Comment ajouter des contraintes NOT NULL aux colonnes MySQL existantes ?

Comment ajouter des contraintes NOT NULL aux colonnes MySQL existantes ?

Linda Hamilton
Libérer: 2024-11-05 18:18:02
original
941 Les gens l'ont consulté

How to Add NOT NULL Constraints to Existing MySQL Columns?

Définition de contraintes NOT NULL pour les colonnes MySQL existantes

L'ajout de contraintes NOT NULL aux colonnes existantes peut être une exigence courante pour garantir l'intégrité des données. Explorons les étapes à suivre pour résoudre ce problème.

Considérons le cas d'une table « Person » avec les colonnes suivantes :

<code class="sql">P_Id (int)
LastName (varchar)
FirstName (varchar)</code>
Copier après la connexion

Cependant, la colonne P_Id n'a pas la contrainte NOT NULL. Les tentatives d'ajout de la contrainte à l'aide de requêtes telles que celles-ci ont entraîné des erreurs de syntaxe :

<code class="sql">ALTER TABLE Person MODIFY (P_Id NOT NULL);
ALTER TABLE Person ADD CONSTRAINT NOT NULL NOT NULL (P_Id);</code>
Copier après la connexion

Pour ajouter efficacement la contrainte NOT NULL, utilisez une requête ALTER TABLE... MODIFY... qui inclut la colonne complète. définition. Un exemple de requête serait :

<code class="sql">ALTER TABLE Person MODIFY P_Id INT(11) NOT NULL;</code>
Copier après la connexion

Attention : Assurez-vous que la définition complète de la colonne est spécifiée dans la requête MODIFY, y compris les valeurs par défaut ou les commentaires de colonne. L'omission de ces éléments entraînera leur suppression de la colonne.

Pour plus de sécurité, extrayez la définition de la colonne à l'aide d'une requête SHOW CREATE TABLE YourTable. Modifiez la définition pour incorporer la contrainte NOT NULL, puis collez-la dans la requête ALTER TABLE... MODIFY.... Cette approche minimise le risque de perdre des propriétés de colonne importantes.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal