C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Повторяющиеся записи в БД
Oper01
Отправлено: 21.01.2005, 01:23


Станционный диспетчер

Группа: Участник
Сообщений: 145



Как можно избежать добавления одинаковых записей в таблицу ?
какие варианты решения существуют ?
olegenty
Отправлено: 21.01.2005, 07:41


Ветеран

Группа: Модератор
Сообщений: 2412



есть ряд вещей, о которых ты не мог не слышать
1. Первичный ключ. (вчитайся в определение)
2. Уникальный индекс (когда первичный ключ суррогатный, такой индекс просто обязан присутствовать в таблице, по сути являясь альтеранивным ключом)
3. проверки check, но тут всё зависит от СУБД и проверку на наличие записи вставлять в check вроде как недонормально, учитывая п.1 и п.2
Gedeon*
Отправлено: 21.01.2005, 14:09


Не зарегистрирован







Наверное имеются ввиду записи, не целиком, а например только одно не ключевое поле, если так, я обычно делаю хранимую процедуру, к-рая и проверяет наличие такой записи и если есть отдает ее айди, если нету добавляет и тоже отдает айди.
olegenty
Отправлено: 21.01.2005, 16:23


Ветеран

Группа: Модератор
Сообщений: 2412



ну, это да, я ответил на то, как понял ))
пользователи же всегда хотят заранее знать, стоит ли до конца заполнять "карточку", или перейти к редактированию, введа первых пару-тройку полей...
** Oper01
Отправлено: 21.01.2005, 23:38


Не зарегистрирован







К сожалению, не довелось работать много с БД. Придётся читать и изучать про первичный ключ, видимо это решит все мои проблемы smile.gif
Просто уже замучился с ошибками, которые возникают из-за одинаковых записей... блин...
Если есть возможность, дайте ссылку на статьи по этой теме. Спасибо !

Вернуться в Работа с базами данных в C++Builder