2016-04-06 85 views
-1

我在這裏遇到問題。空值不爲空值

use WRC_temp; 
    alter table dbo.WRC_Readers 
    alter column ReaderID varchar(50) not null 

我不斷收到此錯誤。

Msg 515, Level 16, State 2, Line 2 
Cannot insert the value NULL into column 'ReaderID', table  'WRC_temp.dbo.WRC_Readers'; column does not allow nulls. UPDATE fails. 
The statement has been terminated. 

我似乎無法理解。 如果任何人都可以幫忙,我會很感激。 :)

回答

0

我猜你的表不是空的,表中有一些當前存在的行。將「不空」約束添加到列時,現有數據無法通過新約束。

有幾種方法可以解決這個問題。這應該是最簡單的一種:

應用在多個步驟中的模式變化: 1)更新現有的行並分配一個值到ReaderId柱其中ReaderId爲空 例如:更新dbo.WRC_Readers集ReaderID = 0其中ReaderID爲空 2)運行你的alter table語句

+0

我解決了它。我不得不放棄表格並使用標識屬性重新創建它。謝謝。 –