powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / изменение индекса в таблице
6 сообщений из 6, страница 1 из 1
изменение индекса в таблице
    #33239948
twistfire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть таблица. в ней задано, что поле id - Serial Primary Key
Куча удаленных записей.

Если я добавляю что-то в базу, появл. запись с id=56 (например).
Могу ли я изменить значение поля id на меньшее, например 10, если его нет в базе?
Если да - то как?
...
Рейтинг: 0 / 0
изменение индекса в таблице
    #33240019
фффф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если надо изменить значение поля - обычный UPDATE, если же сбросить счётчик:
Код: plaintext
1.
ALTER SEQUENCE tablename_id_seq RESTART WITH  10 ;
...
Рейтинг: 0 / 0
изменение индекса в таблице
    #33240172
twistfire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот как сделать UPDATE?
Раньше я делал по признаку id, а теперь мне сам id в одной записи надо изменить. Я могу делать по другому полю?
...
Рейтинг: 0 / 0
изменение индекса в таблице
    #33240317
twistfire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно...
изменил я id

Теперь когда делаю выборку:
SELECT * FROM prod_cat ORDER BY id DESC;

результат с id (который я изменил) =30 располагается ниже всех остальных. В чем проблема?
...
Рейтинг: 0 / 0
изменение индекса в таблице
    #33241088
фффф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Следствие MVCC. Строка при UPDATE физически добавляется в конец (точнее новая копия строки помещается в свободную страницу), а старое значение помечается как удаленное.
...
Рейтинг: 0 / 0
изменение индекса в таблице
    #33241499
nostromo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
twistfireТеперь когда делаю выборку:
SELECT * FROM prod_cat ORDER BY id DESC;

результат с id (который я изменил) =30 располагается ниже всех остальных. В чем проблема?

Странно. Неужели неправильно сортирует? А если
SELECT * FROM prod_cat ORDER BY id ASC ;
тоже неправильно?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / изменение индекса в таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]