读书人

增多列为什么必须允许NULL值

发布时间: 2012-08-22 09:50:35 作者: rapoo

增加列,为什么必须允许NULL值
我有一张表,已经编辑了数据。然后,想增加一列,数据类型为int型,选择不允许NULL值,结果提示不能修改表。
当允许NULL值时,就可以修改了,请问,这是什么原因?为什么必须选择允许NULL值。

[解决办法]

SQL code
select top 10 Name into #1 from sysobjects alter table #1 add NewCol int not null default 1select * from #1/*sysrscols    1sysrowsets    1sysallocunits    1sysfiles1    1syspriorities    1sysfgfrag    1sysphfg    1sysprufiles    1sysftinds    1sysowners    1*/
[解决办法]
需要指定默认值
[解决办法]

可以向现有表添加列,前提是相应列允许使用 Null 值或者对该列创建了 DEFAULT 约束。向一个表添加新列时,数据库引擎会在该列中为表中的每个现有数据行插入一个值。因此,在向表中添加列时向列添加 DEFAULT 定义会很有用。如果新列没有 DEFAULT 定义,则必须指定该列允许 Null 值。数据库引擎将 Null 值插入该列,如果新列不允许 Null 值,则返回错误。

[解决办法]
新增列完全可以不允许为null 的

如果是修改列,这个列里面已经有null 值才有你说的那种提示的。
[解决办法]
alter table 你的表 add column 新增列 int null;

[解决办法]
日,多写个column
[解决办法]
SQL code
--新列没有 default 定义,则必须指定该列允许 Null 值alter table tb add NewCol int not null default NULL--不允许NULL,则必须指定默认值 

读书人网 >SQL Server

热点推荐