Как сделать чтобы информация в бд не повторялась sql telebot?

60a68b68c79ef354399304.png
В python для каждого пользователя генерируется свой тег и записывается в таблицу, если человек захочет он может его изменить. Как сделать чтобы при его редактировании человек не смог поставить такой тег, который уже есть у другого пользователя.
  • Вопрос задан
  • 198 просмотров
Решения вопроса 1
LaRN
@LaRN
Senior Developer
Можно наложить на поле уникальный индекс, тогда при попытке сделать дубль будет sql error, который можно перехватить и обработать так как вам нужно, например попросить изменить выбранный тэг.

Если sql error вам не подходит, то можно попробовать перед вставкой/изменением тэга выполнять проверку на существование таго значения в бд, например так:
select 1 from table where tag = 'New tag'

Если запрос вернул 1 значит данный тег уже есть в БД и нужно придумать другой.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka
Токсичный шарпист
Во всех SQL-базах можно добавить уникальный индекс, который будет обеспечивать уникальность значений в колонке.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы