环境为WIN2003EE+SQL2000
新建好数据库,里面建立一个名为'图书出版社'的表,里面已经有数据.
现在想用SQL语句再向里面补字段名.
用下面语句添加
alter table 图书出版社 add 折扣编号 int not null
但是出现错误
服务器: 消息 4901,级别 16,状态 1,行 1
ALTER TABLE 只允许添加可包含空值或指定了 DEFAULT 定义的列。因为列 '折扣编号' 不能包含空值且未指定 DEFAULT 定义,所以无法将该列添加到表 '图书出版社' 中.
请教问题出在哪,或者有别的语句添加?
我是初学者,万分感谢解答.

解决方案 »

  1.   

    不能指定not null..除非你有默认值..alter table 图书出版社 add 折扣编号 int null 
    go这样添加列之后..再往里写重新数据.再用alter table修改为not null
      

  2.   

    alter table T add row int not null default 0--指定默认值
      

  3.   

    指定非空的同时,必须指定默认值才行``
    因为表中已经存在数据了。。alter table T add row int not null default 0