[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка уникальности вставляемого значения
guest
Здравствуйте.
При вставке данных в поле таблицы возможно дублирование этих данных. Как лучше (т.е. что более приспособлено для этого; всегда есть базовые способы и некие абстракции над этими базовыми способами, которые возникают ввиду недовольства некоторых индивидуумов или необходимости расширения функциональности; так вот, под "лучшим" я понимаю некий базовый вариант) защищаться от дублирования данных. Возложить это на БД или делать это самостоятельно в логике?

На БД:

Присвоить полю ключ UNIQUE и по номеру ошибки определять, что данные уже имеются.


В логике:

Делать запрос на подсчет строк с данным значением и определение дубликатов по результату подсчета.


Обычно использую второй вариант. Но хочу пересмотреть этот момент и если первый вариант окажется более правильным и подходящим под нужды, то и некоторые другие операции по аналогии. Т.е. перебросить некоторую функциональность на плечи сервера БД.

Склоняюсь к первому варианту по причине меньшего количества требуемого кода.
inpost
Оба варианта.
Делай в приложении проверку и выводи, что уже занят.

Но на всякий случай добавь полю UNIQUE, всё равно нужен будет индекс для запроса, и тогда не появится уж точно дубликатов в БД.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.