530 votes

Comment puis-je modifier une colonne MySQL pour permettre à NULL?

MySQL 5.0.45

Quelle est la syntaxe pour modifier une table pour permettre une colonne nulle, alternativement quel est le problème avec ceci:

ALTER mytable MODIFY mycolumn varchar(255) null;

J'ai interprété le manuel, il suffit d'exécuter le dessus et il serait recréer la colonne, cette fois, permettant à null. Le serveur me dit que j'ai des erreurs de syntaxe. Je ne les vois pas.

764voto

Daniel Spiewak Points 30706

Vous souhaitez suivantes:

ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);

Les colonnes sont les valeurs null par défaut. Tant que la colonne n'est pas déclarée UNIQUE ou NOT NULL, il ne devrait pas y avoir de problèmes.

358voto

ConroyP Points 24021

Votre erreur de syntaxe est causée par le manque de "table" dans la requête

ALTER TABLE mytable MODIFY mycolumn varchar(255) null;

48voto

Krishnrohit Points 41

Ma solution:

ALTER TABLE table_name CHANGE column_name column_name type DEFAULT NULL

Par exemple:

ALTER TABLE SCHEDULE CHANGE date date DATETIME DEFAULT NULL;

8voto

Dans certaines circonstances (si vous obtenez le message "ERREUR 1064 (42000): Vous avez une erreur dans votre syntaxe SQL;...") que vous devez faire

ALTER TABLE mytable MODIFY mytable.mycolumn varchar(255);

0voto

php Points 435

Vous pouvez également utiliser cette requête pour modification non null null

Alter table table_name 
    change column_name column_name datatype(length) definition

Pour plus de détails, visitez: PAS NULL NULL

Prograide.com

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.

Powered by:

X