Yanıtlar:
ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);
MySQL 5.7.4 veya üstü için:
ALTER TABLE mytbl ADD UNIQUE (columnName);
MySQL 5.7.4'ten itibaren ALTER TABLE için IGNORE yan tümcesi kaldırılır ve kullanımı bir hata oluşturur.
Bu nedenle, IGNORE anahtar sözcüğü artık desteklenmediğinden, önce yinelenen girişleri kaldırdığınızdan emin olun.
ALTER.
ALTER IGNOREyine de MySQL sürüm> 5.5 ve InnoDB'de verilerinizin güvenliği için Yinelenen hata verebilir. Çoğaltılan satırlardan ilkini tutmanın doğru şey olduğundan eminseniz, deneyin set session old_alter_table=1. Geri koymayı unutma. mysqlolyk.wordpress.com/2012/02/18/…
Bu sorguyu db phpmyadmin'inize yazmanız yeterlidir.
ALTER TABLE TableName ADD UNIQUE (FieldName)
Örneğin: ALTER TABLE user ADD UNIQUE (email)
Kısıtlamayı da adlandırmak istiyorsanız, bunu kullanın:
ALTER TABLE myTable
ADD CONSTRAINT constraintName
UNIQUE (columnName);
CREATE UNIQUE INDEX foo ON table_name (field_name)
Söz konusu sql yürütülmeden önce o sütundaki yinelenen değerleri kaldırmanız gerekir. Bu sütunda varolan herhangi bir yinelenen değer, mysql hatası 1062'ye yol açacaktır
ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);
doğru cevap mı
ekleme parçası
INSERT IGNORE INTO mytable ....
Bu kod, mevcut tablo için benzersiz anahtar ayarlamak için sorunumuzu çözmek içindir
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.Dokümanlar