2013-08-05 12 views
8

したがって、SQL Serverデータベースの列をNULLを許可しないように変更したいのですが、エラーが発生し続けます。これは私が使用していたSQL文です:NULLを許可しないように列を変更します

alter table [dbo].[mydatabase] alter column WeekInt int not null 

、これは私が取得していますエラーです:

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

私は私のSQLが正しいとかなり確信している、と何のヌルが現在存在しません列私は変更しようとしているので、私は本当に問題の原因を確かめていない。何か案は?私は困惑している。

+0

エラーは、 'ALTER TABLE'ステートメントではなく、' INSERT'または 'UPDATE'ステートメントを実行していることを示しているようです。 –

+3

あなたはその列に 'nulls 'がないことを110%確信していますが、エラーはそこにあることを示唆しています。 –

+0

@a_horse_with_no_nameいいえ間違いなく変更スクリプト – user2255811

答えて

8

明らかに、テーブルの値はNULLです。あなたが確認できるもの:

select * 
from mydatabase 
where WeekInt is NULL; 

次に、2つのうちのいずれかを実行できます。その後

delete from mydatabase 
    where WeekInt is null; 

、すべての値が大丈夫であれば、あなたはalter table文を行うことができます。

update mydatabase 
    set WeekInt = -1 
    where WeekInt is null; 

または、問題の行を削除:値を変更してください。

+0

単一のクエリで実行できるか – Imad

関連する問題