在数据库字段为not null中为什么可以插入空值?
createtablemember(numbervarchar(20)notnull)上面标为什么可以插入:inseertintomembervalues('')...
create table member (number varchar(20) not null)
上面标为什么可以插入:
inseert into member values('') 展开
上面标为什么可以插入:
inseert into member values('') 展开
5个回答
展开全部
这是因为,在SQL SERVER中NULL跟''是完全不一样的,NULL表示未知,没有类型可言,而''是有类型的,表示一个空的字符串。
所以有not null约束的列是可以插入''的。而且,有时候做判断的时候可能某个列既有NULL值又有''值,这时候就经常用 where isnull(列名,'')=''进行判断。然而在ORACLE中,''是等同于NULL值进行处理的,这时候有not null约束的列就不能插入''了。
扩展资料:
comment的作用是为表创建注释。 not null表示该字段不允许为空。 这是一条固定的声明,即为表创建的注释不允许为空。 如果将其更改为comment null,则表示其可以为空。
数据库管理系统是数据库系统的核心组件,主要完成数据库的操作和管理功能,实现数据库对象的创建,数据库存储数据的查询,添加,修改和删除操作, 以及数据库的用户管理和权限管理等。
展开全部
在SQL SERVER中NULL跟''是完全不一样的,NULL表示未知,没有类型可言,而''是有类型的,表示一个空的字符串.所以有not null约束的列是可以插入''的. 而且有时候做判断的时候可能某个列既有NULL值又有''值,这时候就经常用 where isnull(列名,'')=''进行判断;
然而在ORACLE中,''是等同于NULL值进行处理的,这时候有not null约束的列就肯定不能插入''了.
然而在ORACLE中,''是等同于NULL值进行处理的,这时候有not null约束的列就肯定不能插入''了.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
NOT NULL就是说这个字段必须有值,那怕是一个''的值。NULL是什么都没有,''是一个空字符串。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为 null != ""
"" 表示空字符串
NULL 表示什么都没有
"" 表示空字符串
NULL 表示什么都没有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
空值实际不是空的,空!=null
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询