Страница: 1 |
Вопрос: Обновление базы данных | Добавлено: 01.09.05 13:01 |
Автор вопроса: ![]() |
День добрый, подскажите, каким образом можно обновить уникальные значения полей столбца после удаления строки из таблицы базы данных? Значения в столбце должны идти по порядку. |
Ответы | Всего ответов: 6 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 373-509-101 Вопросов: 56 Ответов: 330 |
Профиль | Цитата | #1 | Добавлено: 01.09.05 13:15 |
Думаю, придется в цикле изменить все значения этого поля с первого до последнего.
Не знаю, какая задача стоит перед программой, но возможно лучше использовать тип счетчик для этого поля. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 206683087 Вопросов: 11 Ответов: 23 |
Профиль | Цитата | #2 | Добавлено: 01.09.05 13:24 |
А как установить этот тип? У меня таблица Access. Там есть поле IDGhost, DataType которого указан как AutoNumber. Я думала, что этот столбец будет автоматически обновлять значения, но при удалении строки этого почему-то не происходит. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #3 | Добавлено: 01.09.05 13:30 |
Правильно.
И не должно этого происходить. Первичный ключ - такая вещь, которую пользователь вообще не видит и в идеале не подозревает о его существовании. Этот ключ используется исключительно внутри базы для обеспечения целостности. Если же в качестве первичного ключа используется что-то осмысленное с точки зрения бизнес-логики, то нафиг такую архитектуру, ибо нефиг. Завести тогда отдельную колонку и в неё писать "числа по порядку", оставив первичный ключ там, где он есть... |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 206683087 Вопросов: 11 Ответов: 23 |
Профиль | Цитата | #4 | Добавлено: 01.09.05 13:33 |
Спасибо за совет |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 326066673 Вопросов: 368 Ответов: 5968 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 01.09.05 15:31 |
2 главных правила первичного ключа:
1. Значения должны быть уникальными 2. Значения должны быть неизменными Проведя перенумерацию, нарушаем второе правило.. В более-менее приличной базе в итоге все пойдет кувырком... |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 206683087 Вопросов: 11 Ответов: 23 |
Профиль | Цитата | #6 | Добавлено: 01.09.05 15:34 |
Да я уже вспомнила "второе" правило)))) Поэтому, немного подумав на эту тему, я решила оставить затею с перенумерацией)))
Спасибо за советы |
Страница: 1 |
|