PostgreSQL如何创建表以及相关的约束?
在PostgreSQL中,创建表及其相关的约束可以通过CREATE TABLE
语句来完成,并且可以在同一条语句中定义主键、外键、唯一约束、非空约束和检查约束。以下是一个创建表的示例,包括一些常见的约束:
CREATE TABLE example_table (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE,
age INT CHECK (age BETWEEN 0 AND 120),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
foreign_key_id INT REFERENCES other_table(id)
);
在这个例子中:
id
是自增的主键。name
是一个不能为空的字段。email
是一个唯一的字段,确保每个电子邮件地址在表中是唯一的。age
是一个检查约束,确保年龄在0到120岁之间。created_at
是一个时间戳字段,默认值为当前时间。foreign_key_id
是一个外键,它引用了另一个表other_table
的id
字段。
确保在创建外键约束之前,目标表(在这个例子中是 other_table
)已经存在,并且 other_table
的 id
列是一个主键或具有一个唯一约束。
评论已关闭