Определенно создайте индекс UNIQUE
, или, лучше, сделайте этот столбец PRIMARY KEY
.
Вам все равно нужен индекс, чтобы ваши чеки были быстрыми.
Почему бы не сделать этот индекс UNIQUE
, чтобы у вас была другая альтернативная опция (если вы по какой-то причине забыли проверить с помощью SELECT
)?
Если ваша таблица InnoDB
, она все равно будет иметь PRIMARY KEY
, поскольку все таблицы InnoDB
организованы по индексу по дизайну.
В случае, если вы не объявили PRIMARY KEY
в своей таблице, InnoDB
создаст скрытый столбец в качестве первичного ключа, таким образом, сделав вашу таблицу слишком большой, и у вас не будет индекс по вашей колонке.
Создание PRIMARY KEY
в вашем столбце - беспроигрышный вариант.
Вы можете оформить
INSERT
IGNORE
INTO mytable
VALUES (userid)
и проверьте, сколько записей было затронуто.
Если 0
, было нарушение ключа, но не исключение.