sql >> Database teknologi >  >> RDS >> Sqlserver

Kan jeg tilføje en ikke null kolonne uden DEFAULT værdi

Nej, det kan du ikke.

For hvis du kunne, ville SQL ikke vide, hvad de skulle sætte som værdi i de allerede eksisterende poster. Hvis du ikke havde nogen poster i tabellen, ville det fungere uden problemer.

Den nemmeste måde at gøre dette på er at oprette kolonnen med en standard og derefter fjerne standarden.

ALTER TABLE dbo.MyTable ADD
MyColumn text NOT NULL CONSTRAINT DF_MyTable_MyColumn DEFAULT 'defaultValue'
ALTER TABLE dbo.MyTable
DROP CONSTRAINT DF_MyTable_MyColumn

Et andet alternativ ville være at tilføje kolonnen uden begrænsningen, udfylde værdierne for alle celler og tilføje begrænsningen.



  1. hvordan sender man mail fra mysql ved hjælp af lagrede procedurer?

  2. Viser hvilket kvartal af et regnskabsår en dato er i

  3. Laravel 4 Migrations kaster 1072 fejl

  4. Laravel-projektet ERR_EMPTY_RESPONSE