Re: noobie question

Поиск
Список
Период
Сортировка
От Chris Angelico
Тема Re: noobie question
Дата
Msg-id CAPTjJmo+uVQ-8pYOpRWmKFL+D4_g9ADN65cwiOqPWt0RKu3J-g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: noobie question  (Steve Clark <sclark@netwolves.com>)
Ответы Re: noobie question  (Steve Clark <sclark@netwolves.com>)
Re: noobie question  (Steve Clark <sclark@netwolves.com>)
Список pgsql-general
On Fri, Jan 25, 2013 at 4:45 AM, Steve Clark <sclark@netwolves.com> wrote:
> Thanks All,
>
> This is for a few very small tables, less 100 records each, that a user can
> delete and insert records into based on the "id"
> which is displayed in a php generated html screen. The tables are rarely
> updated and when they are updated only one person
> is accessing them at a time.
>
> I have seen several answers on inserting what about deleting?

Deleting works exactly the same way; you just subtract instead of adding.

And thanks Jeff, I forgot about that requirement. Still, searched
update is the easiest solution.

However, do seriously rethink your design. At very least, the "id"
field is misnamed; it's not the record's identity if it changes. If
your only two operations are "insert" and "delete" (with inserts
permitted at either end of the list as well as in the middle), one way
you could do it is to have a serially-numbered ID, and a 'pos'. Adding
to the end means inserting a row with a pos one higher than the
current highest. Inserting a record before another one means inserting
a row with the same pos - no renumbering needed. Deleting a row is
done by its id, not its position. And when you query the table, just
ask for them "ORDER BY POS, ID DESC" - this will show them in the
right order. This doesn't, however, handle arbitrary reordering of
records. For that, you will ultimately need to renumber the positions.

ChrisA


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


В списке pgsql-general по дате отправления:

Предыдущее
От: Paul Jones
Дата:
Сообщение: Can LC_TIME affect timestamp input?
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: main.log file not being updated