How to add a not null constraint on column containing null values How to add a not null constraint on column containing null values oracle oracle

How to add a not null constraint on column containing null values


You can add an unvalidated constraint - it will not look at existing rows, but it will be checked for any new or updated rows.

ALTER TABLE mytable MODIFY mycolumn NOT NULL NOVALIDATE;

Just be aware that you won't be able to update an existing row unless it satisfies the constraint.

Also, be aware of the downside that the optimizer will not be able to take advantage of this constraint in making its plans - it has to assume that some rows may still have a null.


ALTER TABLE table_nameSET column_name = '0' WHERE column_name IS NULL;

ALTER TABLE table_nameMODIFY COLUMN(column_name NUMBER CONSTRAINT constraint_identifier NOT NULL);

This is of course assuming that your column is a number but it's the same thing really, you would just change the '0' to a default value that isn't null.


Hammad:I face the problem and solve like following:

Alter table thr_empl_info modify THR_EM_DESIGNATION_ID not null