Maison  >  Article  >  base de données  >  Comment ajouter une contrainte NOT NULL à une colonne MySQL existante ?

Comment ajouter une contrainte NOT NULL à une colonne MySQL existante ?

DDD
DDDoriginal
2024-11-07 05:05:02831parcourir

How to Add a NOT NULL Constraint to an Existing MySQL Column?

Modification des colonnes MySQL existantes avec des contraintes non nulles

Lorsque vous travaillez avec des schémas de base de données, il est crucial de garantir l'intégrité des données. MySQL vous permet d'ajouter des contraintes NOT NULL aux colonnes existantes pour éviter de stocker des valeurs nulles.

Problème : Vous disposez d'une table nommée Person avec les colonnes P_Id, LastName et FirstName. Cependant, vous avez omis la contrainte NOT NULL sur P_Id.

Erreur de syntaxe : Tenter d'ajouter la contrainte NOT NULL à l'aide des requêtes suivantes peut entraîner une erreur 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>

Solution :

La syntaxe correcte pour ajouter une contrainte NOT NULL à une colonne existante est :

<code class="sql">ALTER TABLE Person MODIFY P_Id INT(11) NOT NULL;</code>

Remarque :

  1. Assurez-vous de spécifier la définition complète de la colonne lorsque vous utilisez MODIFY. Incluez toutes les valeurs par défaut ou les commentaires de colonne.
  2. Vous pouvez récupérer la définition de colonne existante à l'aide de SHOW CREATE TABLE YourTable. Cela garantit que vous ne perdrez aucune propriété existante.

En suivant ces étapes, vous pouvez modifier efficacement les colonnes existantes et ajouter des contraintes NOT NULL, garantissant ainsi l'intégrité de vos données dans les tables MySQL.

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