そのため、SQL Serverデータベースの列を変更して、nullを許可しないようにしたいのですが、エラーが発生し続けます。これは私が使用しているSQLステートメントです:
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は正しいと確信しており、変更しようとしている列には現在nullがないため、問題の原因がよくわかりません。何か案は?私は困惑しています。
明らかに、テーブルにはNULL
値が含まれています。あなたがチェックできるもの:
select *
from mydatabase
where WeekInt is NULL;
次に、2つのことのいずれかを実行できます。値を変更します。
update mydatabase
set WeekInt = -1
where WeekInt is null;
または、問題のある行を削除します。
delete from mydatabase
where WeekInt is null;
次に、すべての値に問題がなければ、alter table
ステートメントを実行できます。
列をnull以外に変更しようとして、このエラーメッセージが表示されても、列にnullがないように見える場合は、is null
ではなく= null
をチェックしていることを確認してください(結果)。
Select * from ... where column is null
の代わりに
Select * from ... where column = null
それが私をつまずかせて解決するのに時間がかかったので、私はこれを追加しています。