J'ai essayé:
ALTER TABLE MY_TABLE
ADD STAGE INT NOT NULL;
Mais il donne ce message d'erreur:
ALTER TABLE permet uniquement les colonnes à ajouter qui peut contenir des valeurs null ou avoir une définition par DÉFAUT spécifié
J'ai essayé:
ALTER TABLE MY_TABLE
ADD STAGE INT NOT NULL;
Mais il donne ce message d'erreur:
ALTER TABLE permet uniquement les colonnes à ajouter qui peut contenir des valeurs null ou avoir une définition par DÉFAUT spécifié
En option, vous pouvez d'abord créer Null colonne en mesure, ensuite, de mettre à jour votre colonne de table avec le valide pas les valeurs null et enfin MODIFIER la colonne pour définir la contrainte not NULL:
ALTER TABLE MY_TABLE ADD STAGE INT NULL
GO
UPDATE MY_TABLE <set valid not null values for your column>
GO
ALTER TABLE MY_TABLE ALTER COLUMN STAGE INT NOT NULL
GO
Une autre option est de spécifier la valeur par défaut correcte de votre colonne:
ALTER TABLE MY_TABLE ADD STAGE INT NOT NULL DEFAULT '0'
D'autres implémentations de SQL ont des restrictions similaires. La raison en est que l'ajout d'une colonne requiert l'ajout de valeurs de cette colonne (logiquement, même si pas physiquement), qui par défaut NULL
. Si vous ne voulez pas autoriser NULL
, et n'ont pas d' default
, quelle est la valeur?
Depuis SQL Server prend en charge l' ADD CONSTRAINT
, je vous recommande de Pavel approche de la création d'une colonne nullable, puis en ajoutant une NOT NULL
contrainte après que vous avez rempli avec des non-NULL
valeurs.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.