powered by simpleCommunicator - 2.0.33     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / index
5 сообщений из 5, страница 1 из 1
index
    #32127857
alexdd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица с полем serial
после удаления остаються разрывы в нумерации как можно сделать так, чтобы после удаления строки нумерация пересортировывалась..
пример.
1. 22222
2. 33333
3. 55555

после удаления

1.22222
3.55555

как сделать чтобы было

1.22222
2.55555

Заранее спасибо.
...
Рейтинг: 0 / 0
index
    #32127952
Konrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем это надо? Новые строки в любом случае не должны быть пронумерованы использовавшимися когда-либо идентификаторами. Иначе используй не автоинкремент, а числовой тип.

Можно, конечно создать копию таблицы, перебросить туда данные, затем удалить исходную таблицу, создать ее вновь и подсунуть ей данные из таблицы-копии. Но это чревато неприятностями - рушатся связи, теряются права пользователей и т.п.
...
Рейтинг: 0 / 0
index
    #32128194
Фотография Niemi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может это можно решить с помощью REINDEX, что то я не совсем уловил вопрос.
...
Рейтинг: 0 / 0
index
    #32128431
Konrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
REINDEX этим не занимается :)
...
Рейтинг: 0 / 0
index
    #32134180
Mixa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот так.
CREATE TEMP SEQUENCE renum;
SELECT setval('renum', 1);
UPDATE tabl set indexfield = nextval('renum');
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / index
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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