【postgresql 基础入门】表的约束 唯一unique、非空not null、check、exclusion约束,原理机制以及多列组合约束
    		       		warning:
    		            这篇文章距离上次修改已过429天,其中的内容可能已经有所变动。
    		        
        		                
                在PostgreSQL中,我们可以使用以下几种方式来对表中的数据进行约束:
- 唯一约束(unique):确保某一列或几列的组合不出现重复值。
- 非空约束(not null):确保某一列不能有空值(NULL)。
- 检查约束(check):对某一列或几列应用特定的条件表达式。
- 排他约束(exclusive):确保在任何时间,表中至多只有一行满足某种条件。
以下是如何在创建表时添加这些约束的示例代码:
CREATE TABLE employees (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100) UNIQUE, -- 唯一约束
    salary DECIMAL,
    age INT NOT NULL, -- 非空约束
    start_date DATE CHECK (start_date >= '2000-01-01'), -- 检查约束
    -- 排他约束可以通过创建唯一约束来实现,例如,只有一个员工能够是“CEO”
    role VARCHAR(100) UNIQUE
);在这个例子中,我们创建了一个名为employees的表,其中包含email、age和start_date的唯一性、非空和检查约束。同时,通过创建唯一性约束role,我们确保了在employees表中至多只有一个员工的role是“CEO”。
评论已关闭