sql >> Database >  >> RDS >> Sqlserver

Kan ik een niet-null-kolom toevoegen zonder DEFAULT-waarde?

Nee, dat kan niet.

Want als je dat zou kunnen, zou SQL niet weten wat als waarde in de reeds bestaande records moet worden geplaatst. Als u geen records in de tabel had, zou het zonder problemen werken.

De eenvoudigste manier om dit te doen, is door de kolom met een standaard te maken en vervolgens de standaard te verwijderen.

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

Een ander alternatief zou zijn om de kolom zonder de beperking toe te voegen, de waarden voor alle cellen in te vullen en de beperking toe te voegen.



  1. Zoek kolom die een bepaalde waarde bevat in MySQL

  2. tijdelijk mysql externe toegang uitschakelen

  3. MySQL Update rijen met dubbele linker join, beperking van eerste match

  4. Hoe panda's-dataframe naar Oracle-database te schrijven met to_sql?