Change a column to not allow nulls

Clearly, the table has NULL values in it. Which you can check with:

select *
from mydatabase
where WeekInt is NULL;

Then, you can do one of two things. Either change the values:

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

Or delete the offending rows:

delete from mydatabase
    where WeekInt is null;

Then, when all the values are okay, you can do the alter table statement.


If you are trying to change a column to not null, and you are getting this error message, yet it appears the column has no nulls, ensure you are checking for is null and not = null (which gives different results).

Select * from ... where column is null

instead of

Select * from ... where column = null

I am adding this because it tripped me up and took a while to resolve.