Как добавить уникальный индекс в Mysql, удалив дублирующиеся данные
Коротко
Все относительно просто. Сперва разберемся с дубликатами.
Допустим мы хотим удалить все записи из таблицы users
с одинаковым login.
Находим все записи с одинаковым id и удаляем те, у которых id меньше:
Если мы хотим добавить составной уникальный ключ, например first_name + last_name, то для удаления таких дубликатов просто добавим дополнительное условие:
При большем количестве полей составного ключа просто добавляем условия. И далее добавляем ключ:
Дополнительно
Рекомендую всегда добавлять имя ключу, чтобы избежать дублирования индексов, в случае если запрос выполнится 2 раза.