【postgresql 基础入门】UPSERT语句,INSERT违反约束条件时可以转变为UPDATE语句,UPDATE与INSERT的合体
在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
语句中提供的新值。
评论已关闭