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)