中易网

sql server 约束如何处理null

答案:3  悬赏:80  
解决时间 2021-02-21 02:55
我的基础不好,想问问高手,约束的字段里如果有null值
约束会怎么处理,会报错吗?
如:
check(age smallYear)
year 有null值
age也有null值
最佳答案
约束的字段里如果有null值 约束会忽略数据检查, 下面是一个执行的例子:

E:\>sqlcmd -S "localhost\SQLEXPRESS"
1> use test
2> go
已将数据库上下文更改为 'test'。

1> CREATE TABLE #test(
2> age int,
3> year int,
4> check(age 5> );
6> go

1>
2> INSERT INTO #test VALUES (1,1);
3> go
消息 547,级别 16,状态 1,服务器 TESTPC\SQLEXPRESS,第 2 行
INSERT 语句与 CHECK 约束"CK__#test_____________0425A276"冲突。该冲突发生于数据库
"tempdb",表"dbo.#test__________________________________________________________
_____________________________________________________000000000003"。
语句已终止。

1>
2> INSERT INTO #test VALUES (1,NULL);
3> go

(1 行受影响)

1>
2> INSERT INTO #test VALUES (NULL,1);
3> go

(1 行受影响)

1>
2> INSERT INTO #test VALUES (NULL,NULL);
3> go

(1 行受影响)

1>
全部回答
--添加unique约束 alter table 表名 add constraint 约束名 unique (规格说明) --删除原来的约束需要知道约束名 --用sp_helpconstraint取得约束名 exec sp_helpconstraint '表名' 执行以后constraint_type列应该有一个是check on column 数量 看看constraint_name是什么,然后用以下语句删除 alter table 表名 drop constraint 约束名 --添加新的check约束 alter table 表名 with nocheck add constraint 约束名 check(数量 between 1 and 1000)
check(isnull(age,0) isnull(smallYear,0))
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
许引之墓怎么去啊,有知道地址的么
植物护肤品牌
白带化验3个加号的炎症该怎么办
百步岭地址在哪,我要去那里办事
炫舞2这个头发怎么弄成白色啊
大家好,我是萧打虎,请问我萧打虎什么时候被
杰微h110主板质量好吗?
东、西方封建制度的比较(在线等...)
我朋友父亲重病,快不行了,我该怎样安慰他?
西夏粮油葵园油地址在哪,我要去那里办事
fifaol3教练改名卡怎么获得
E6600加GTX560SE可以玩剑灵吗?
亚枫管道怎么去啊,有知道地址的么
在DOS中怎样浏览网页?
散字五笔怎么打
推荐资讯
汽车从一站行驶到了二站,车上旅客发生的变化
手机连接电脑显示spreadtrum phone未安装怎么
班级足球对抗赛写一篇周记
43.5除以29列竖式计算
中国经济周刊是否为核心期刊,确定吗
我的佛手果大量掉叶子,都快掉完, 请问它是怎
老是听到别人用英文说 sam sam(译音) 的 是
DNF暴风眼穿什么甲、用什么武器好?
好莱坞怎么去啊,有知道地址的么
ng file upload怎么上传文件
漆包线的耐软化试验是什么意思
峨眉山路/淮河西路(路口)在哪里啊,我有事要
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?