1. 程式人生 > >非空約束對資料更新的影響

非空約束對資料更新的影響

正如“非空約束”表達的意思,如果對一個欄位添加了非空約束,那麼我們是不能將這個欄位中的值更新為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來查看錶中的資料:

可以看到資料已經被正確的更新到表中了。