2012-06-09 11 views
9

Ich muss eine Spalte hinzufügen, deren Standardwert standardmäßig null ist, um die Tabelle nach bestimmten Spalte mit Alter Tabelle.Hinzufügen einer Spalte, deren Wert standardmäßig nicht null ist.

ALTER TABLE tblechecklistrevision ADD COLUMN IWorkFlowOrder INT(10) DEFAULT NOT NULL AFTER fState; 

Wenn ich die Abfrage ausführen werde ich die folgenden Fehlermeldung erhalten

Sie haben einen Fehler in Ihrer SQL-Syntax; das Handbuch, dass zu Ihrem MySQL-Server-Version für den richtigen Syntax in der Nähe von ‚NOT NULL AFTER fState‘ in Zeile

Antwort

10

Sie sollten DEFAULT entfernen:

ALTER TABLE tblechecklistrevision 
    ADD COLUMN IWorkFlowOrder INT(10) NOT NULL AFTER fState; 

STANDARD für die Einstellung Anfangswert auf neue Zeilen ist, wo ein Wert für diese Spalte ist nicht angegeben, wenn Sie ...INT(10) NOT NULL schreiben, was Sie meinen, ist tatsächlich, dass diese Spalte nie einen NULL enthalten kann, nicht nur zur Initialisierungszeit.

9

Wenn Sie den Standardwert wollen nicht NULL (zB 0) 1 zu verwenden, entspricht, die Sie kann gleich do:

ALTER TABLE tblechecklistrevision 
    ADD COLUMN IWorkFlowOrder INT(10) NOT NULL DEFAULT 0 AFTER fState 
Verwandte Themen