SQL语句创建非空字段

[复制链接]
查看11 | 回复2 | 2008-12-23 22:58:33 | 显示全部楼层 |阅读模式
我现在做的是动态对数据库创建表创建字段,在创建表之后要给表添加字段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' 中。

回复

使用道具 举报

千问 | 2008-12-23 22:58:33 | 显示全部楼层
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是可以创建列的...
回复

使用道具 举报

千问 | 2008-12-23 22:58:33 | 显示全部楼层
可能是数据库中原来有数据,可以删除数据后在试...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行