ID по порядку
Microsoft SQL Enterprise Manager Version: 8.0
Есть Таблица Users .
В ней есть ID, FName, LName и так далее.
Иногда у меня удаляются записи, то есть идет ID=4, а потом ID=6.
Как можно с помощью менеджера, "обновить" таблицу, что бы числа шли по порядку?
Спасибо заранее.
Microsoft SQL Enterprise Manager Version: 8.0
Есть Таблица Users .
В ней есть ID, FName, LName и так далее.
Иногда у меня удаляются записи, то есть идет ID=4, а потом ID=6.
Как можно с помощью менеджера, "обновить" таблицу, что бы числа шли по порядку?
Спасибо заранее.
Зачем?
"MS SQL Server" не использовал, но если провемти аналогию с "SQLite", то только ручками.
Дело в том, что для каждого автоинкрементного поля в системной таблице последовательностей (sequence) создается запись в поле "ЗНАЧЕНИЕ" этой таблицы записывается последний ID, использованный для этого поля. С каждым добавлением записи в таблицу с автоинкрементным полем, счетчик увеличивается на 1.
Ты можеш заблокировать доступ к БД для всех, кроме себя.
Затем выбрать все идентифмкаторы, отсортировав их по возрастанию.
Помле этого последоватнльно перебираеш мписок и меняеш идентификаторы (при этом не забывай сохранять последний выданный ID).
PS:
Настоятельно советую не заниматься заполнением использованных идентификаторов, иначе у тебя могут появмться неверные связки. Например, у кого-то из сотрудников появится 5 детей, он станет трижды женат, дважды судим и его должность станет вдруг сантехником вместо директора.
Ссылочная целостность рулит, конечно, но вдруг что забудеш, или прибьеш связь?