ich auf dieser Definition gestolpert:MS SQL verwendet explizit "default defaults" auf NOT NULL Feldern - warum?
CREATE TABLE dbo.whatever (
[flBlahBlah] BIT DEFAULT ((0)) NOT NULL,
[txCity] NVARCHAR (50) DEFAULT ('') NOT NULL,
[cdFrom] VARCHAR (10) DEFAULT ('') NOT NULL
);
ich nicht aus einem Grund, diese Standardwerte hinzufügen denken können. Eine Null-Null-Zeichenfolge wird standardmäßig auf ''
gesetzt und das Bit wird standardmäßig auf 0
gesetzt. Gibt es einen Grund, diese Standardwerte zu definieren? Fehle ich etwas? Ist mir das in einem Best-Practice-Handbuch nicht bekannt?
Ich würde nur verwenden:
CREATE TABLE dbo.whatever (
[flBlahBlah] BIT NOT NULL,
[txCity] NVARCHAR (50) NOT NULL,
[cdFrom] VARCHAR (10) NOT NULL
);
Die Datenbank in MS SQL Server 2012 jetzt auf Azure-Datenbank migrieren.
Da 'VARCHAR NOT NULL' keinen Standardwert von' '' 'hat. Wenn Sie keinen Wert für ein 'NOT NULL'-Feld angeben, wird ein Fehler ausgegeben. Es gibt keinen Systemstandard. – Siyual
Was meinst du mit "Standardeinstellungen"? Es gibt keine Standardeinstellungen, es sei denn, Sie wählen einige aus. Wenn jemand 'INSERT was auch immer (txCity) Werte ('hallo');' 'tut, funktioniert das mit Version 1, aber nicht mit Ihrer Version ohne die Standardwerte. –
Wenn Sie versuchen, eine Zeile in diese Tabelle einzufügen, ohne einen Wert für eine Spalte anzugeben, werden Sie daran gehindert. Es gibt keinen automatischen Standardwert, wenn Sie keinen explizit angeben. –