SQL语句创建非空字段

我现在做的是动态对数据库创建表创建字段,在创建表之后要给表添加字段TSQL是:alert table 表名 add 字段名 字段类型(字段长度) NULL,这是为空的,TSQL可以正常运行,但是如果不为空(alert table TableName add FieldName varchar(100) not null)这句话就不能执行了,我不加not null,执行的也是为空的,我用事件探查器跟踪了下,sql server给字段设非空好象是重新执行了一次创建表,创建字段+类型+长度+空否,但我不是要这样的效果,我要在添加时候如果用户选不充许空时就让这个字段不为空,这个TSQL应该怎么写啊,alert table TableName add FiledName varchar(100)创建的也是为空的,怎么办??
服务器: 消息 4901,级别 16,状态 1,行 1
ALTER TABLE 只允许添加可包含空值或指定了 DEFAULT 定义的列。因为列 'FieldName' 不能包含空值且未指定 DEFAULT 定义,所以无法将该列添加到表 'aaa' 中。

第1个回答  2008-12-23
alert table TableName add FieldName varchar(100) not null
改成
alter table TableName add FieldName varchar(100) not null

我自己测试过了。。

alert table TableName add FieldName varchar(100) not null

是可以创建列的本回答被提问者采纳
第2个回答  2008-12-23
可能是数据库中原来有数据,可以删除数据后在试
相似回答