Postgresql 冲突更新不做任何事postgres

Postgresql 冲突更新不做任何事postgres,postgresql,Postgresql,我正在尝试更新一个表,以便可以从其中一列中删除带前缀的零。我想这样做: UPDATE oh_person SET identifier = TRIM(LEADING '0' FROM identifier) 问题是,某些行已经具有标识符,但没有前缀零,并且由于此列是唯一的,因此在这些实例中会抛出错误。有可能这样做吗 UPDATE oh_person SET identifier = TRIM(LEADING '0' FROM identifier) ON CONFLICT (identifie

我正在尝试更新一个表,以便可以从其中一列中删除带前缀的零。我想这样做:

UPDATE oh_person SET identifier = TRIM(LEADING '0' FROM identifier)
问题是,某些行已经具有标识符,但没有前缀零,并且由于此列是唯一的,因此在这些实例中会抛出错误。有可能这样做吗

UPDATE oh_person SET identifier = TRIM(LEADING '0' FROM identifier) ON CONFLICT (identifier) DO NOTHING
我知道这个特定的查询是不可能的,但是有其他语法可以实现吗?

示例数据:

create table oh_person(identifier text unique);
insert into oh_person 
values ('012'), ('0012'), ('0015'), ('015');
使用:

结果:

select * from oh_person;

 identifier 
------------
 0012
 015
 12
 15
(4 rows)

你能给我们举几个标识符的例子吗?这些标识符带有前置的零,它们工作得很好,有些则会抛出错误?
select * from oh_person;

 identifier 
------------
 0012
 015
 12
 15
(4 rows)