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

Mohu přidat sloupec, který není prázdný, bez hodnoty DEFAULT

Ne, nemůžeš.

Protože pokud byste mohli, SQL by nevěděl, co má dát jako hodnotu v již existujících záznamech. Pokud byste v tabulce neměli žádné záznamy, fungovalo by to bez problémů.

Nejjednodušší způsob, jak toho dosáhnout, je vytvořit sloupec s výchozím nastavením a poté výchozí odebrat.

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

Další alternativou by bylo přidat sloupec bez omezení, vyplnit hodnoty pro všechny buňky a přidat omezení.



  1. změnit příznak CLIENT_FOUND_ROWS v django pro mysql-python (MySQLdb)?

  2. Odstraňování problémů s přidělením proměnné paměti na serveru SQL Server

  3. zahrnout mysql do cmake

  4. Funkce NEW_TIME() v Oracle