SQL, Handling empty cells
How to handle null data in a SQL database
When we create a table in this way:
CREATE TABLE people (
age INT,
name CHAR(20)
);
SQL freely accepts empty values as records:
INSERT INTO people VALUES (null, null);
This might be a problem, because now we have a row with null values:
age | name
-----+--------
37 | Flavio
8 | Roger
|
To solve this, we can declare constrains on our table rows. NOT NULL
prevents null values:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL
);
If we try to execute this query again:
INSERT INTO people VALUES (null, null);
We’d get an error, like this:
ERROR: null value in column "age" violates not-null constraint
DETAIL: Failing row contains (null, null).
Note that an empty string is a valid non-null value.
→ Here's my latest YouTube video
→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter
→ JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025