在SQL中现有表中添加非空列
如何在SQL Server 2005的现有表中添加不为空的列?
您将不得不指定一个DEFAULT,或者添加允许NULL的列,更新所有的值,然后将列更改为NOT NULL。
ALTER TABLE <YourTable> ADD <NewColumn> <NewColumnType> NOT NULL DEFAULT <DefaultValue> select:
  a)创build一个有效的默认值不为空 
  b)创buildnull,填充它,改成not null 
有两种方法可以将NOT NULL列添加到表中:
- 
通过添加具有NULL约束的列来修改表。 用一些数据填充列。 例如:列可以更新为'' 
- 
通过提供DEFAULT值来添加具有NOT NULL约束的列来修改表。 ALTER table TableName ADD NewColumn DataType NOT NULL DEFAULT'' 
 IF NOT EXISTS (SELECT 1 FROM syscolumns sc JOIN sysobjects so ON sc.id = so.id WHERE so.Name = 'Table1' AND sc.Name = 'Col1') BEGIN ALTER TABLE Table1 ADD Col1 INT NOT NULL DEFAULT 0; END GO 
最简单的方法是:
 ALTER TABLE db.TABLENAME ADD COLUMN [datatype] NOT NULL DEFAULT 'value' 
例如:将列x(位数据types)添加到默认值为0的表ABC中
 ALTER TABLE db.ABC ADD COLUMN x bit NOT NULL DEFAULT 0 
PS:我不是使用桌子devise师的一个很大的粉丝。 它有时更容易被传统的/老式的。 :)。 希望这有助于回答