Відповіді:
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.
Документи