Puis-je changer une colonne de NOT NULL à NULL sans la supprimer?

98

Besoin de modifier une table pour autoriser les valeurs nulles sur une colonne - mais je ne peux pas supprimer la colonne ... puis-je faire cela? J'essayais quelque chose comme:

ALTER TABLE myTable MODIFY myColumn NULL;

Mais en vain....

Todd Vance
la source

Réponses:

200
ALTER TABLE myTable ALTER COLUMN myColumn {DataType} NULL
Wil
la source
50

Sûr que vous pouvez.

ALTER TABLE myTable ALTER COLUMN myColumn int NULL

Remplacez simplement int pour le type de données de votre colonne.

Mark S. Rasmussen
la source
1
En fait, votre réponse est vraie. mais pas accepté comme meilleure réponse. phhhh. parce que cela (ALTER TABLE myTable ALTER COLUMN myColumn {DataType} NULL) ne fonctionne pas
UfukSURMEN
J'ai essayé avec alter columnet cela n'a pas fonctionné avec le dernier serveur mysql. J'ai essayé modify columnet cela a fonctionné. Strange ...
Kostas Andrianos
1
@UfukSURMEN, le {DataType} signifie que vous devez mettre quel que soit votre type de données au lieu de cela. Les réponses sont essentiellement les mêmes, Mark vient de s'expliquer davantage (ce qui aurait dû lui valoir la réponse acceptée, mais ce n'est pas mon appel).
PrinceTyke
@PrinceTyke Exactement.
UfukSURMEN
-1

Pour MYSQL

ALTER TABLE myTable MODIFY myColumn {DataType} NULL
Prakash Bhandari
la source
Je ne sais pas pourquoi cette réponse a été déclassée, MODIFY nom de colonne fonctionne pour mySql mais pas ALTER nom de colonne
Venkat
@Venkat je pense parce que la question est étiquetée sql-server.
orangecaterpillar le