Страница: 1 |
Страница: 1 |
Вопрос: Обновление базы данных
Добавлено: 01.09.05 13:01
Автор вопроса:
Anechka | ICQ: 206683087
День добрый, подскажите, каким образом можно обновить уникальные значения полей столбца после удаления строки из таблицы базы данных? Значения в столбце должны идти по порядку.
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа: Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #1
Добавлено: 01.09.05 13:15
Думаю, придется в цикле изменить все значения этого поля с первого до последнего.
Не знаю, какая задача стоит перед программой, но возможно лучше использовать тип счетчик для этого поля.
Номер ответа: 2
Автор ответа: Anechka
ICQ: 206683087
Вопросов: 11
Ответов: 23
Профиль | | #2
Добавлено: 01.09.05 13:24
А как установить этот тип? У меня таблица Access. Там есть поле IDGhost, DataType которого указан как AutoNumber. Я думала, что этот столбец будет автоматически обновлять значения, но при удалении строки этого почему-то не происходит.
Номер ответа: 3
Автор ответа: GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #3
Добавлено: 01.09.05 13:30
Правильно.
И не должно этого происходить.
Первичный ключ - такая вещь, которую пользователь вообще не видит и в идеале не подозревает о его существовании. Этот ключ используется исключительно внутри базы для обеспечения целостности.
Если же в качестве первичного ключа используется что-то осмысленное с точки зрения бизнес-логики, то нафиг такую архитектуру, ибо нефиг. Завести тогда отдельную колонку и в неё писать "числа по порядку", оставив первичный ключ там, где он есть...
Номер ответа: 4
Автор ответа: Anechka
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
Автор ответа: Anechka
ICQ: 206683087
Вопросов: 11
Ответов: 23
Профиль | | #6
Добавлено: 01.09.05 15:34
Да я уже вспомнила "второе" правило)))) Поэтому, немного подумав на эту тему, я решила оставить затею с перенумерацией)))
Спасибо за советы