如何处理SQL数据库中的空数据
当我们以这种方式创建一个表时。
CREATE TABLE people (
age INT,
name CHAR(20)
);
SQL可以自由接受空值作为记录。
INSERT INTO people VALUES (null, null);
这可能是一个问题,因为现在我们有一条空值的记录。
age | name
-----+--------
37 | Flavio
8 | Roger
|
为了解决这个问题,我们可以在表的行上声明约束条件。NOT NULL ,防止空值。
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL
);
如果我们试图再次执行这个查询。
INSERT INTO people VALUES (null, null);
我们会得到一个错误,像这样。
ERROR: null value in column "age" violates not-null constraint
DETAIL: Failing row contains (null, null).
请注意,一个空字符串是一个有效的非空值。