MySQL 5.0.45
Quelle est la syntaxe pour modifier une table pour permettre à une colonne d'être nulle, alternativement ce qui ne va pas avec ceci:
ALTER mytable MODIFY mycolumn varchar(255) null;
J'ai interprété le manuel comme simplement exécuter ce qui précède et il recréerait la colonne, cette fois permettant null. Le serveur me dit que j'ai des erreurs syntaxiques. Je ne les vois tout simplement pas.
Réponses:
Vous voulez ce qui suit:
Les colonnes peuvent être annulées par défaut. Tant que la colonne n'est pas déclarée
UNIQUE
ouNOT NULL
, il ne devrait pas y avoir de problème.la source
TIMESTAMP
type, qui selon votre version de MySQL et votre configuration peut êtreNOT NULL
spécifiéNULL
comme suggéré par @ConroyP est plus correct.Votre erreur de syntaxe est provoquée par une «table» manquante dans la requête
la source
NULL
, cela ne rend pas cette réponse plus "correcte" que la réponse acceptée? Savoir que les colonnes sont annulables par défaut (comme mentionné dans la réponse acceptée) est utile en ce qui concerne cette question particulière.Ma solution:
Par exemple:
la source
Dans certaines circonstances (si vous obtenez "ERREUR 1064 (42000): vous avez une erreur dans votre syntaxe SQL; ..."), vous devez faire
la source
Ma solution est la même que @Krishnrohit:
En fait, j'avais la colonne définie comme
NOT NULL
mais avec la requête ci-dessus, elle a été remplacée parNULL
.PS Je sais que c'est un vieux fil mais personne ne semble reconnaître que
CHANGE
c'est aussi correct.la source
Utilisation:
ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);
la source