📜  在 POSTGRESQL 中返回插入结果(1)

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

在 PostgreSQL 中返回插入结果

在 PostgreSQL 中,当我们执行一个 INSERT 语句插入一条新的记录时,有时我们需要获取插入的信息,比如自动生成的 ID。本文将介绍在 PostgreSQL 中如何返回插入结果。

使用 RETURNING 子句

在 PostgreSQL 中,我们可以使用 RETURNING 子句来获取插入结果。该子句可用于 INSERT、UPDATE 和 DELETE 语句。

例如,以下 SQL 语句可以在 users 表中插入一条新的记录,并返回该记录的 ID:

INSERT INTO users (name, email) VALUES ('John Doe', 'johndoe@example.com') RETURNING id;

在执行该语句后,我们将得到类似下面的结果:

 id
----
  1
(1 row)

这表示插入的新记录具有 ID 值为 1。

我们还可以返回多个字段的值,如下所示:

INSERT INTO users (name, email) VALUES ('John Doe', 'johndoe@example.com') RETURNING id, name, email;

执行该语句后,我们将得到包含多个字段值的结果集。

在 PostgreSQL 中使用 RETURNING 子句的例子

以下是一个完整的例子,展示了如何在 PostgreSQL 中使用 RETURNING 子句来获取插入结果:

-- 创建 users 表
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(50) NOT NULL
);

-- 插入一条新记录并返回 ID
INSERT INTO users (name, email) VALUES ('John Doe', 'johndoe@example.com') RETURNING id;

在执行该例子后,我们将得到类似上述的结果。

总结

使用 RETURNING 子句,我们可以在 PostgreSQL 中方便地获取插入、更新或删除操作的结果。使用该子句时,我们可以返回一个或多个字段的值,从而满足我们的需求。