📜  postgres 更改表添加主键 - SQL (1)

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

Postgres 更改表添加主键 - SQL

在 Postgres 中,我们可以通过 ALTER TABLE 语句来更改表的结构,包括添加主键。在本文中,我们将介绍如何在 Postgres 中添加主键。

1. 准备工作

首先我们需要创建一张包含数据的表。我们将使用下面的 SQL 语句来创建一个名为 students 的表:

CREATE TABLE students (
    id SERIAL,
    name varchar(50),
    age int
);

这个表包含三个字段,其中 id 是自动递增的主键,我们将在后面的步骤中添加一个新的主键。

2. 添加主键

我们可以使用 ALTER TABLE 语句来添加主键。在 Postgres 中,我们可以使用以下两种方法来添加主键:

2.1. 使用已有字段作为主键

如果表中已有一个唯一的字段,我们可以将其作为主键。例如,我们将 id 字段设置为主键:

ALTER TABLE students ADD PRIMARY KEY (id);

这将把 id 字段设置为主键,并将其唯一性约束加入到表中。注意,如果表中已有重复的值,这个操作将失败。

2.2. 添加一个新的字段作为主键

如果表中还没有一个合适的字段用作主键,我们可以添加一个新的字段。例如,我们可以添加一个名为 student_id 的整型字段,并将其作为主键:

ALTER TABLE students ADD COLUMN student_id SERIAL PRIMARY KEY;

这将添加一个新的字段 student_id,并将其设置为主键。注意,我们必须将其设置为自动递增的 SERIAL 类型以确保每一行都有一个唯一的值。

3. 总结

在本文中,我们学习了如何在 Postgres 中添加主键。我们可以使用 ALTER TABLE 语句来添加主键,可以添加一个已有的字段或者添加一个新的自动递增的字段。需要注意的是,添加主键将更改表的结构,因此在生产环境中需要谨慎操作。