MySQL 5.0.45
Wie lautet die Syntax zum Ändern einer Tabelle, damit eine Spalte null sein kann, oder was ist daran falsch:
ALTER mytable MODIFY mycolumn varchar(255) null;
Ich habe das Handbuch so interpretiert, dass es nur das oben Genannte ausführt und die Spalte neu erstellt, diesmal mit null. Der Server teilt mir mit, dass ich syntaktische Fehler habe. Ich sehe sie einfach nicht.
Antworten:
Sie möchten Folgendes:
Spalten sind standardmäßig nullwertfähig. Solange die Spalte nicht deklariert ist
UNIQUE
oderNOT NULL
, sollte es keine Probleme geben.quelle
TIMESTAMP
Typ handelt, der abhängig von Ihrer MySQL-Version und -Konfiguration angegeben werden kannNOT NULL
,NULL
wie von @ConroyP vorgeschlagen.Ihr Syntaxfehler wird durch eine fehlende "Tabelle" in der Abfrage verursacht
quelle
NULL
, macht es diese Antwort nicht "korrekter" als die akzeptierte Antwort? In Bezug auf diese spezielle Frage ist es hilfreich zu wissen, dass Spalten standardmäßig nullwertfähig sind (wie in der akzeptierten Antwort erwähnt).Meine Lösung:
Zum Beispiel:
quelle
Unter bestimmten Umständen (wenn Sie "ERROR 1064 (42000): Sie haben einen Fehler in Ihrer SQL-Syntax; ..." erhalten) müssen Sie dies tun
quelle
Meine Lösung ist die gleiche wie bei @Krishnrohit:
Ich hatte die Spalte tatsächlich so eingestellt,
NOT NULL
aber mit der obigen Abfrage wurde sie in geändertNULL
.PS Ich weiß, dass dies ein alter Thread ist, aber niemand scheint anzuerkennen, dass dies
CHANGE
auch richtig ist.quelle
Verwenden:
ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);
quelle