Deciding between NULL and NOT NULL

If the column value is mandatory for a row, you define the column as being NOT NULL. Otherwise, the column is allowed to contain the NULL value, which represents no value. The default in SQL Anywhere is to allow NULL values, but you should explicitly declare columns NOT NULL unless there is a good reason to allow NULL values.

The SQL Anywhere sample database has a table called Departments, which has columns named DepartmentID, DepartmentName, and DepartmentHeadID. Its definition is as follows:

Column Data type Size Null/not null Constraint
DepartmentID integer NOT NULL None
DepartmentName char 40 NOT NULL None
DepartmentHeadID integer NULL None

If you specify NOT NULL, a column value must be supplied for every row in the table.

For more information about the NULL value, see NULL value. For information about its use in comparisons, see Search conditions.