Jawaban:
ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);
Untuk MySQL 5.7.4 atau yang lebih baru:
ALTER TABLE mytbl ADD UNIQUE (columnName);
Pada MySQL 5.7.4, klausa IGNORE untuk ALTER TABLE dihapus dan penggunaannya menghasilkan kesalahan.
Jadi, pastikan untuk menghapus entri duplikat terlebih dahulu karena kata kunci IGNORE tidak lagi didukung.
ALTER
menyelesaikannya.
ALTER IGNORE
mungkin masih memberikan kesalahan Duplikat pada versi MySQL> 5.5 dan pada InnoDB demi keamanan data Anda. Jika Anda yakin bahwa menjaga baris pertama dari duplikat adalah hal yang benar, cobalah set session old_alter_table=1
. Jangan lupa untuk mengaturnya kembali. mysqlolyk.wordpress.com/2012/02/18/…
Tulis saja permintaan ini di phpmyadmin db Anda.
ALTER TABLE TableName ADD UNIQUE (FieldName)
Misalnya: ALTER TABLE user ADD UNIQUE (email)
Jika Anda juga ingin memberi nama batasan, gunakan ini:
ALTER TABLE myTable
ADD CONSTRAINT constraintName
UNIQUE (columnName);
CREATE UNIQUE INDEX foo ON table_name (field_name)
Anda harus menghapus nilai duplikat pada kolom itu sebelum mengeksekusi sql itu. Nilai duplikat apa pun yang ada pada kolom itu akan membawa Anda ke kesalahan mysql 1062
ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);
adalah jawaban yang tepat
bagian sisipan
INSERT IGNORE INTO mytable ....
Kode ini adalah untuk memecahkan masalah kita untuk mengatur kunci unik untuk tabel yang ada
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.
Documents