📜  PostgreSQL – 非空约束(1)

📅  最后修改于: 2023-12-03 15:33:45.133000             🧑  作者: Mango

PostgreSQL – 非空约束

在PostgreSQL中,非空约束是一种用于保护表中数据完整性的有效方法。它可以确保在向表中添加新行或更新行时,特定列不会为空。

要将非空约束添加到表中的列,请使用以下语法:

ALTER TABLE table_name ALTER COLUMN column_name SET NOT NULL;

在上面的语法中,我们使用ALTER TABLE和ALTER COLUMN关键字来创建非空约束。SET NOT NULL表示禁止列为空。

例如,如果我们有一个用户表users,它有一个名为username的列。我们可以将该列设置为非空约束,如下所示:

ALTER TABLE users ALTER COLUMN username SET NOT NULL;

如果有任何尝试插入空值的INSERT语句,则会收到以下错误:

ERROR: null value in column "username" violates not-null constraint

此错误表明我们已成功添加了非空约束。

除了将非空约束添加到现有表中的列之外,我们还可以在创建表时定义它。

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(50) NOT NULL UNIQUE
);

在上面的示例中,我们通过在列定义中使用NOT NULL来定义非空约束。

总的来说,非空约束是PostgreSQL中保持表数据完整性的强有力工具。它可以确保数据的一致性和准确性,并防止插入到表中的行包含空值。