Как запретить повторения значения в базе данных?

у меня есть база данных, она пополняется через скрипт на питоне. Скриншот из phpmyadmin

В скрипте я использую такой код

with connection.cursor() as cursor:
sql = "INSERT INTO `users` (`nick`, `uid`, `money`) VALUES (%s, %s, %s)"
cursor.execute(sql, (nick, userid, money))
connection.commit()

Мне нужно чтобы если uid совпадал с имеющимся уже в базе данных, то просто выдавал ошибку. У меня появилась идея что запретить повторное использование значения можно сделать через базу данных, ведь если скрипт не сможет создать запись, то и так даст ошибку.


Ответы (1 шт):

Автор решения: Alex R.

Необходимо создать Unique Constraint, он может содержать одно поле или комбинация полей, которые определяют уникальную запись. Некоторые из полей могут содержать нулевые значения, если комбинация значений при этом остается уникальной (статья).

ALTER TABLE users ADD CONSTRAINT uid_unique UNIQUE (uid);
→ Ссылка