Summary: in this tutorial, you will learn how to use a not null constraint for a column to ensure values stored in the column are not null.
Introduction to the MariaDB not null constraint
The not null is a domain integrity constraint that ensures values stored in a column are not null.
Here is the syntax of defining a not null constraint:
column_name datatype not null;
Code language: SQL (Structured Query Language) (sql)If you insert or update null to a column that has a not null constraint, MariaDB rejects the change and issues an error.
The following statement creates a table called courses:
create table courses(
course_id int auto_increment,
course_name varchar(100) not null,
summary varchar(255),
primary key(course_id)
);
Code language: SQL (Structured Query Language) (sql)The course_id is the primary key of the courses table, therefore, it doesn’t accept null values because it has an implicit not null constraint.
The course_name has the not null constraint so it also doesn’t accept null values.
This statement attempts to insert a null value into the course_name column:
insert into courses(course_name)
values(null);
Code language: SQL (Structured Query Language) (sql)MariaDB issued the following error:
SQL Error (1048): Column 'course_name' cannot be null
Code language: SQL (Structured Query Language) (sql)Adding a not null constraint to an existing column
To add a not null constraint to an existing column, you follow these steps:
- First, update
nullvalues to a non-null value if available. - Second, modify the column to include a
not nullconstraint.
For example, to add a not null constraint to the summary column of the courses table, you use these steps:
First, update null values in the summary column to non-null values:
update courses
set summary = 'N/A'
where summary is null;
Code language: SQL (Structured Query Language) (sql)Second, modify the summary column to include a not null constraint:
alter table courses
modify summary varchar(255) not null;
Code language: SQL (Structured Query Language) (sql)Removing a not null constraint
To remove a not null constraint from a column, you use the alter table modify statement:
alter table table_name
modify column_name datatype;
Code language: SQL (Structured Query Language) (sql)For example, the following statement removes the not null constraint from the summary column of the courses table:
alter table courses
modify summary varchar(255);
Code language: SQL (Structured Query Language) (sql)To verify whether the not null constraint has been removed, you can use the describe statement:
describe courses;
Code language: SQL (Structured Query Language) (sql)
or use show create table statement:
show create table courses;
Code language: SQL (Structured Query Language) (sql)In this tutorial, you have learned how to use the not null constraint for a column to ensure values stored in the column are not null.