PostgreSQL 提供了多种约束(Constraints)来保证数据库中数据的准确性和可靠性(即数据完整性)。 PostgreSQL 支持的约束类型主要有以下 6 种,外加 1 种常被一同提及的属性: 1. 检查约束 (CHECK) 作用:确保列中的值满足指定的布尔表达式(必须为真)。 应用场景:限制年龄必须大于 0,商品价格不能为负数等。 示例: 2. 非空约束 (NOT NULL) 作用:确保某列的数据不能包含 值。 应用场景:用户名、密码等必须填写的字段。 示例: 3. 唯一约束 (UNIQUE) 作用:确保一列或多列组合中的所有数据都是互不相同的(唯一的)。 注意:在 PostgreSQL 中,默认情况下 值被认为是互不相同的,因此带有 UNIQUE 约束的列可以插入多个 值(PostgreSQL 15 引入了 可以改变此行为)。 示例: 4. 主键约束 (PRIMARY KEY) 作用:唯一地标识表中的每一行。它实际上是 UNIQUE 和 NOT NULL 的结合体。一张表只能有一个主键(可以由多列组成,即复合主键)。 应用场景:用户 ID、订单号等。 示例: 5....