pgsql 存在则更新不存在则插入 需要设置什么 并写一个案例
时间: 2023-03-31 13:01:53 浏览: 137
mysql如何实现 如果存在就update更新,不存在再insert插入.zip
对于这个问题,您需要使用 PostgreSQL 的 UPSERT 功能。在 PostgreSQL 中,UPSERT 是通过使用 INSERT INTO ON CONFLICT DO UPDATE 语句来实现的。在这个语句中,您需要指定一个唯一的约束条件,以便在插入新行时检查是否已经存在相同的行。如果存在,则更新该行,否则插入新行。
以下是一个示例:
CREATE TABLE test_table (
id SERIAL PRIMARY KEY,
name VARCHAR(50) UNIQUE,
age INTEGER
);
INSERT INTO test_table (name, age)
VALUES ('John', 25)
ON CONFLICT (name) DO UPDATE SET age = EXCLUDED.age;
在这个示例中,我们创建了一个名为 test_table 的表,其中包含一个唯一的 name 列。我们插入了一行数据,如果该行已经存在,则更新该行的 age 列。在这个示例中,我们更新了 John 的年龄为 25。
希望这个回答能够帮助您!
阅读全文