因为你的不允许为空的字段中已经有空值了,你可以先用
UPDATE XXtb SET col='MYEmpty' WHERE col=NULL
然后设置此字段不可为空
然后将上一语句设置的值改成你的
真实数据

解决方案 »

  1.   

    lizhizhe2000谢谢你回答!
    请看清问题“如将现有字段允许为空,更改为不允许为空(表中所有数据都不为空)”,谢谢!
      

  2.   

    alter table t with nocheck add col int not null default(1)--新增列不为null,如果列已经有数据,指定默认值或在企业管理里—设计表—添加列
      

  3.   

    如果表中已经有数据,并且其值已经为NULL,那么你把这个有NULL值得字段该为不允许为NULL,那就会出错。
    至于修改表字段的序号....呵呵,没有试过,不知道能不能行。
    但是,为什么要修改字段的序号呢?
    一个字段在第一位和在最后一位并没有什么太大的影响....如果实在要调整字段,把现在表中的数据按新的字段dump到一个文本文件中,
    重建一个新表,
    把数据装回去就可以了。不知道还有没有更有效的方法
      

  4.   

    新增字段时可以,如将现有字段允许为空,更改为不允许为空(表中所有数据都不为空),或将字段序号从1更改其他的序号等就会出现诸如:某表 -   无法修改表。 
    这个问题看来是权限的问题了,新增字段只需要Alter Table即可可以要允许为空或者调整栏位顺序是需要先drop后新建表的,
    LZ在企业管理器中修改这个东西的时候,可以点击上面菜单栏里面的脚本按钮,看看生成的语句是不是这样
      

  5.   

    楼上的你好!我用SA用户操作也是一样,难道SA用户权限也不够,那请问如何设置呢?