sql >> Databáze >  >> RDS >> Sqlserver

Přidejte sloupec s výchozí hodnotou do existující tabulky na SQL Server

Syntaxe:

ALTER TABLE {TABLENAME} 
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} 
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES

Příklad:

ALTER TABLE SomeTable
        ADD SomeCol Bit NULL --Or NOT NULL.
 CONSTRAINT D_SomeTable_SomeCol --When Omitted a Default-Constraint Name is autogenerated.
    DEFAULT (0)--Optional Default-Constraint.
WITH VALUES --Add if Column is Nullable and you want the Default Value for Existing Records.

Poznámky:

Volitelný název omezení:
Pokud vynecháte CONSTRAINT D_SomeTable_SomeCol pak SQL Server automaticky vygeneruje
    Výchozí omezení s vtipným názvem jako:DF__SomeTa__SomeC__4FB7FEF6

Volitelný výpis s hodnotami:
The WITH VALUES je potřeba pouze tehdy, když má váš sloupec hodnotu Null
    a chcete, aby se pro existující záznamy používala výchozí hodnota.
Pokud je váš sloupec NOT NULL , pak automaticky použije výchozí hodnotu
    pro všechny existující záznamy, ať zadáte WITH VALUES nebo ne.

Jak vložky fungují s výchozím omezením:
Pokud vložíte záznam do SomeTable a to ne Zadejte SomeCol 's, pak bude výchozí 0 .
Pokud vložíte záznam a Zadejte SomeCol hodnotu jako NULL (a váš sloupec umožňuje hodnoty null),
   , pak výchozí omezení nebude být použit a NULL bude vložena jako Hodnota.

Poznámky byly založeny na skvělé zpětné vazbě všech níže.
Zvláštní poděkování:
    @Yatrix, @WalterStabosz, @YahooSerious a @StackMan za jejich komentáře.



  1. Jak nainstalovat PostgreSQL 12 na Ubuntu 20.04/18.04/16.04

  2. Když je zavolána metoda SQLiteOpenHelper onCreate?

  3. Formát řetězce URL pro připojení k databázi Oracle pomocí JDBC

  4. Migrace databází SQL pomocí příkazového řádku