T_Debt 表:
FNumber FAmount FPerson
1 200.00 jim
2 300.00 jim
3 123.00 Tom
非空约束对数据更新的影响
正如"非空约束"表达的意思,如果对一个字段加了非空约束,那么是不能将这个字段中的值更新为NULL的。T_Debt表的FAmount字段是非空约束的,如果执行下面SQL:
UPDATE T_Debt set FAmount = NULL WHERE FPerson = 'Tom'
这句SQL为FAmount设置空值。执行这句SQL以后数据库系统会报出类似如下的错误信息:
不能将值NULL插入列'FAmount',表'demo.dbo.Debt';列不允许有空值。UPDATE失败。
如果为FAmount设置非空值的话,则会插入成功,执行下面的SQL:
UPDATE T_Debt set FAmount = 223 WHERE FPerson = 'Tom'
此句SQL则可以正常的执行成功。执行SELECT * FROM T_Debt来查看表中的数据:
FNumber FAmount FPerson
1 200.00 jim
2 300.00 jim
3 223.00 Tom |
|