[GENERAL] UPDATE feature or bug?
От | Stuart Rison |
---|---|
Тема | [GENERAL] UPDATE feature or bug? |
Дата | |
Msg-id | Pine.LNX.4.10.9909221327290.23732-100000@bsmlx17 обсуждение исходный текст |
Ответы |
Re: [SQL] [GENERAL] UPDATE feature or bug?
|
Список | pgsql-sql |
Dear all, Consider the following table; functions=> select * from prova order by a,b,c,d; a|b|c|d -+-+-+- 4|0|0|0 4|1|0|0 4|1|1|0 4|1|2|0 4|1|3|0 4|1|4|0 4|3|0|0 4|3|1|0 4|3|2|0 4|4|0|0 4|4|1|0 4|4|2|0 4|4|3|0 (13 rows) with a unique index on (a,b,c,d) and note that there is a gap in the continuity of b (from 4.1 to 4.3). If I try UPDATE prova SET b=b-1 WHERE b>2; I get: ERROR: Cannot insert a duplicate key into a unique index but if I try: functions=> update prova set b=b-1 where b=3; UPDATE 3 functions=> update prova set b=b-1 where b=4; UPDATE 4 it works. Now I've sussed this out as the update must be dealing with rows where b=4 first, trying to UPDATE them to b=3 and failing because these are already 'occupied'. Is this a bug? is this a feature? is there a way of telling the UPDATE what order to UPDATE in? Regards, Stuart. Stuart C. G. Rison Department of Biochemistry and Molecular Biology 6th floor, Darwin Building, University College London (UCL) Gower Street, London, WC1E 6BT, United Kingdom Tel. 0207 504 2303, Fax. 0207 380 7033 e-mail: rison@biochem.ucl.ac.uk
В списке pgsql-sql по дате отправления: