如何处理SQL数据库中的空数据

175 阅读1分钟

如何处理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).

请注意,一个空字符串是一个有效的非空值。