Use NOT NULL if required


First of all think whether you require a NULL field or not.
If having an empty string value can make any sense then use it otherwise use NULL value for a specific reason.

So, Put NOT NULL if required.

NULL columns require additional space in the row and add complexity to your statement. Avoid it for a no reason. In MyISAM table for each column it takes one bit extra rounded up to the nearest byte.

MySQL NULL? That is The Question?

NULL means you do not have to provide a value for the field…

NOT NULL means you must provide a value for the fields.

For example, if you are building a table of registered users for a system, you might want to make sure the user-id is always populated with a value (i.e. NOT NULL), but the optional spouses name field, can be left empty (NULL)

Having fields which don’t have a meaningful meaning for NULL nullable is likely to introduce bugs, when nulls enter them by accident. Using NOT NULL prevents this.

The commonest reason for NULL fields is that you have a foreign key field which is options, i.e. not always linked, for a “zero or one” relationship.

When creating a table or adding a column to a table, you need to specify the column value optionality using either NULL or NOT NULL. NOT NULL means that the column can not have a NULL value for any record; NULL means NULL is an allowable value (even when the column has a foreign key constraint). Because NULL isn’t a value, you can see why some call it optionality – because database table requires that in order to have a column, there must be an instance of the column for every record within the table.

Generally you want as many columns as possible to be NOT NULL because you want to be sure data is always there.

Leave a Reply

Your email address will not be published. Required fields are marked *