2017-02-24 1 views
2

Ich möchte eine neue Spalte zu einer vorhandenen Tabelle hinzufügen, die bereits Daten enthält. Die Spalte sollte NICHT NULL sein. Deshalb möchte ich einen Standardwert festlegen. Aber wenn ich das tue wirft es die folgende Ausnahme: „Falsche Syntax in der Nähe‚für‘“Falsche Syntax in der Nähe von 'für' SQL Server

ALTER TABLE Semester ADD SIDNew uniqueidentifier NOT NULL 
CONSTRAINT DF_SIDNew DEFAULT '00000000-0000-0000-0000-000000000000' FOR SIDNew 

Ich hatte bereits einen Blick auf How to set a default value for an existing column und Incorrect syntax near the keyword 'FOR' aber keiner von ihnen hat mir geholfen.

Antwort

5

Verlieren Sie einfach das Teil FOR SIDNew. Sie fügen eine neue Spalte mit einer Standardeinschränkung hinzu. Sie fügen einer vorhandenen Spalte keine neue Standardeinschränkung hinzu.

3

Das Schlüsselwort FOR ist nur erforderlich, wenn Sie Azure SQL Data Warehouse oder Parallel Data Warehouse Standardwerte hinzufügen. Wenn Sie normale relationale SQL Server sind (on-premise oder Azure), dann können Sie es einfach für

ohne das Schreib
ALTER TABLE Semester ADD SIDNew uniqueidentifier NOT NULL 
CONSTRAINT DF_SIDNew DEFAULT '00000000-0000-0000-0000-000000000000'; 

https://msdn.microsoft.com/en-gb/library/ms190273.aspx

Verwandte Themen