Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Мога ли да добавя ненулева колона без стойност DEFAULT

Не, не можеш.

Защото, ако можеше, SQL нямаше да знае какво да постави като стойност във вече съществуващите записи. Ако нямате никакви записи в таблицата, ще работи без проблеми.

Най-простият начин да направите това е да създадете колоната със стойност по подразбиране и след това да я премахнете.

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

Друга алтернатива би била да добавите колоната без ограничението, да попълните стойностите за всички клетки и да добавите ограничението.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вмъкнете няколко реда в една колона

  2. Търсене на множество стойности в xml колона в SQL

  3. как да направите данните си хоризонтални

  4. Цикъл на задействане на SQL Server

  5. Оценка на присъединяване на SQL Server с помощта на грубо подравняване на хистограма