【postgresql 基础入门】UPSERT语句,INSERT违反约束条件时可以转变为UPDATE语句,UPDATE与INSERT的合体
warning:
这篇文章距离上次修改已过421天,其中的内容可能已经有所变动。
在PostgreSQL中,UPSERT语句是指一个操作,它可以在尝试插入数据时,如果违反了唯一性约束或主键约束,则自动转变为更新(UPDATE)操作。这种操作通常用于维护数据一致性,例如,更新数据或在数据不存在时插入数据。
以下是一个简单的例子,使用了ON CONFLICT子句的INSERT语句:
INSERT INTO table_name (id, column1, column2)
VALUES (1, 'value1', 'value2')
ON CONFLICT (id) DO UPDATE
SET column1 = EXCLUDED.column1,
column2 = EXCLUDED.column2;在这个例子中,如果id为1的记录已经存在,则执行UPDATE操作,将column1和column2更新为新的值。如果记录不存在,则执行INSERT操作。EXCLUDED关键字表示INSERT语句中提供的新值。
评论已关闭