Відповіді:
ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);
Для MySQL 5.7.4 або новішої версії:
ALTER TABLE mytbl ADD UNIQUE (columnName);
Станом на MySQL 5.7.4, пункт IGNORE для ALTER TABLE видаляється, і його використання призводить до помилки.
Тож переконайтесь, що спочатку видаліть повторювані записи, оскільки ключове слово IGNORE більше не підтримується.
ALTERяк це зробити.
ALTER IGNOREвсе ще може призвести до дублювання помилок у версії MySQL> 5.5 та InnoDB для безпеки ваших даних. Якщо ви просто впевнені, що зберігати перший із дублюваних рядків - це правильно, спробуйте set session old_alter_table=1. Не забудьте встановити його назад. mysqlolyk.wordpress.com/2012/02/18 / ...
Просто запишіть цей запит у db phpmyadmin.
ALTER TABLE TableName ADD UNIQUE (FieldName)
Наприклад: ALTER TABLE user ADD UNIQUE (email)
Якщо ви також хочете назвати обмеження, скористайтеся цим:
ALTER TABLE myTable
ADD CONSTRAINT constraintName
UNIQUE (columnName);
CREATE UNIQUE INDEX foo ON table_name (field_name)
Ви повинні видалити повторювані значення з цього стовпця, перш ніж виконувати цей sql. Будь-яке існуюче значення дубліката в цьому стовпці призведе до помилки 1062 mysql
ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);
- правильна відповідь
частина вставки
INSERT IGNORE INTO mytable ....
Цей код повинен вирішити нашу проблему, щоб встановити унікальний ключ для існуючої таблиці
alter ignore table ioni_groups add unique (group_name);
If IGNORE is specified, only the first row is used of rows with duplicates on a unique key, The other conflicting rows are deleted.Документи