ubah tabel dengan menambahkan UNIQUE
kendala
ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
tetapi Anda dapat melakukan ini jika tabel employee
kosong.
atau jika ada catatan, coba tambahkan IGNORE
ALTER IGNORE TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
PERBARUI 1
Ada yang tidak beres, kurasa. Anda hanya perlu menambahkan batasan unik pada kolom ename
sejak eno
akan selalu unik karena AUTO_INCREMENT
.
Untuk menambahkan batasan unik, Anda perlu melakukan beberapa pembersihan di meja Anda.
Kueri di bawah ini menghapus beberapa catatan duplikat, dan mengubah tabel dengan menambahkan batasan unik pada kolom ename
.
DELETE a
FROM Employee a
LEFT JOIN
(
SELECT ename, MIN(eno) minEno
FROM Employee
GROUP BY ename
) b ON a.eno = b.minEno
WHERE b.minEno IS NULL;
ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename);
Berikut demonstrasi lengkapnya