黑马程序员技术交流社区

标题: 【分享】非空约束对数据更新的影响 [打印本页]

作者: 许庭洲    时间: 2012-10-9 08:34
标题: 【分享】非空约束对数据更新的影响
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





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2