| From: | Blake McBride <blake1024(at)gmail(dot)com> |
|---|---|
| To: | pgsql-general(at)lists(dot)postgresql(dot)org |
| Subject: | Trouble incrementing a column |
| Date: | 2019-11-23 21:28:37 |
| Message-ID: | CABwHSOuxyDcnZ7xhj1uQYT09=94-x6O051x=_iK8hiOXoAgCrA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Greetings,
I am using PostgreSQL 10.10. I am having trouble incrementing a column for
reasons I can't see. It's probably some basic SQL thing. Your help is
appreciated.
create table my_table (
listid char(36) not null,
seq smallint not null,
item varchar(4096),
primary key (listid, seq)
);
insert into my_table (listid, seq) values ('abc', 1);
insert into my_table (listid, seq) values ('abc', 2);
-- the following works some of the time
update my_table set seq=seq+1;
-- the following doe not work for reasons I do not know
update my_table set seq=seq+1 where listid='abc';
What I get is a duplicate primary key. I wouldn't think I'd get that
because I'd think the whole thing is done in a transaction so that
duplicate checks wouldn't be done till the end (essentially).
Is there a clean way to do this?
Thanks!
Blake McBride
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Ron | 2019-11-23 21:42:53 | Re: Trouble incrementing a column |
| Previous Message | Jeff Janes | 2019-11-23 19:18:32 | Re: How to drop all tokens that a snowball dictionary cannot stem? |