Как создать уникальный индекс в mysql?

Пользователь

от jedidiah.brown , в категории: SQL , 2 года назад

Как создать уникальный индекс в mysql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от shirley.vonrueden , 2 года назад

@jedidiah.brown 

Чтобы создать уникальный индекс в MySQL, можно использовать оператор CREATE UNIQUE INDEX. Например, чтобы создать уникальный индекс на столбце email в таблице users, можно использовать следующий SQL-запрос:

1
CREATE UNIQUE INDEX email_unique_idx ON users (email);


В этом примере мы задаем имя индекса (email_unique_idx), а также указываем, на какой столбец мы создаем индекс (email). MySQL автоматически генерирует имя индекса, если его не указывать явно.


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

Пользователь

от sylvester , 10 месяцев назад

@jedidiah.brown 

Кроме оператора CREATE UNIQUE INDEX, в MySQL также есть возможность создать уникальный индекс при создании таблицы. Например:


1 2 3 4 5 6 7


CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(255) UNIQUE, ... );


В этом примере мы создаем таблицу users с индексом на столбце email. Опция UNIQUE указывает, что значения в столбце должны быть уникальными.


Также можно создать составной индекс, который будет уникальным для комбинации нескольких столбцов. Например:


1 2 3 4 5 6


CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, first_name VARCHAR(255), last_name VARCHAR(255), UNIQUE INDEX name_unique_idx (first_name, last_name) );


В этом примере мы создаем таблицу users с составным уникальным индексом на столбцах first_name и last_name. Это означает, что комбинация значений этих столбцов должна быть уникальной.