数据库中为数据表增加新的字段时,可以为新字段设置NOT NULL约束吗?

数据库中为数据表增加新的字段时,可以为新字段设置NOT NULL约束吗?,第1张

是的,必须有百默认值。

因为在SQL SERVER中NULL跟''是完全不一样的,NULL表示未知,没有类型可言,而''是有类型的,表示一个空的字符串。所以有not null约束的列是可以插入''的。

有时候做判断的时候可能某个度列既有NULL值又有''值,这时候就经常用 where isnull(列名,'')=''进行判断。在ORACLE中,''是等同于NULL值进行处理的,这时候有not null约束的列就不知能插入''了。

视图,这是表(table)啊

你想啊,not null的意思是什么,不可为空啊,

你新增加的列,哪儿能有值呢?所以肯定为空啊;矛盾了,所以不能这么做。

2个办法试试:

1. 增加列的同时,指定列的默认值:alter table HTC add column Camera nchar(50) not null default('abc')

2. 将现有列中为空的值,都设置成默认值,然后再修改为not null

update htc set camera = 'abc' where camera is null

alter table HTC

alter column Camera nchar not null

不允许这个字段为空值,写代码的话,在字符类型后面加上就可以了,例如:

create table emp (

id varchar2(10) not null, --这个字段不能为空

name varchar2(10)

)

除了强制设定not null的,建表后,主键、分区字段等都是非空的。

扩展资料:

not null:

comment的作用是给表创建备注,not null 意思是给字段不允许为空,是一个固定的语句表示给表创建的备注不允许为空,如果改为comment null那意思就是可以为空了。

数据库管理系统是数据库系统的核心组成部分,主要完成对数据库的 *** 纵与管理功能,实现数据库对象的创建、数据库存储数据的查询、添加、修改与删除 *** 作和数据库的用户管理、权限管理等。

参考资料来源:百度百科-数据库


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7964477.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存