非空约束对数据更新的影响

Posted yuyu666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非空约束对数据更新的影响相关的知识,希望对你有一定的参考价值。

正如“非空约束”表达的意思,如果对一个字段添加了非空约束,那么我们是不能将这个字段中的值更新为NULL的。T_Debt表的FAmount字段是有非空约束的,如果我们执行下面SQL:


UPDATE T_Debt set FAmount = NULLWHERE FPerson="Tom"

这句SQL为FAmount 设置空值。我们执行这句SQL以后数据库系统会报出类似如下的错误信息:

不能将值NULL 插入列"FAmount",表"demo.dbo.T_Debt";列不允许有空值。UPDATE失败。

如果我们为FAmount 设置非空值的话,则会插入成功,执行下面的SQL:


UPDATE T_Debt set FAmount =123WHERE FPerson="Tom"

此句SQL则可以正常的执行成功。执行SELECT * FROM T_Debt来查看表中的数据:

可以看到数据已经被正确的更新到表中了。

以上是关于非空约束对数据更新的影响的主要内容,如果未能解决你的问题,请参考以下文章

MySQL-02-笔记

约束索引三范式

怎样用SQL语句对指定字段建立非空约束?

外键对数据更新的影响

SqlServer数据库知识点笔记

MySQL 之约束数据库设计