NOT NULL约束

在SQL Server中,NOT NULL 约束强制列不接受NULL 值。NOT NULL 约束强制字段始终包含值。

这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。如果表已经被创建,而又想添加 NOT NULL 约束,可以使用 ALTER TABLE 命令SQLNOT NULL约束的作用,主要规定表中的数据必须遵守一定的规则,如果存在违反约束的数据行为,行为会被约束终止(也就是无法把数据添加到该表中)。

而不为空约束则强制列不接受 NULL 值,修改约束时可能会出现以下状况,把某个表的某个列的默认约束改为非空约束时,若是该列中原本的数据有空值存在则无法执行成功,需先将空的数据赋值才可以执行成功。

如果从一种约束改成另一种约束时(如从decimal改为int)则会把该decimal的所在列的原有值全部变成0。

在创建表结构时,可以给字段添加 NOT NULL 关键字来添加 NOT NULL 约束。默认情况下,如果未指定 NOT NULL 约束,则SQL Server将允许该列接受 NULL。在此示例中,只有 phone 列可以接受 NULL 。

例如,要将 NOT NULL 约束添加到 hr.persons 表的 phone 列,请使用以下语句。

首先,如果某些人员没有电话号码,则将电话号码更新为公司电话号码,例如, 0898-88889999 :

接着修改 phone 列的属性为 NOT NULL :


SQL ServerUNIQUE 约束用于确保存储在列或列组中的数据在表中的行中是唯一的。
SQL Server自动创建UNIQUE 索引以强制存储在参与 UNIQUE 约束的列中的数据的唯一性。

因此,如果尝试插入重复行,SQL Server将拒绝更改并返回一条错误消息,提示说已违反 UNIQUE 约束。如果没有为 UNIQUE 约束指定名称,SQL Server将自动为其生成名称。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值