modificare la tabella aggiungendo UNIQUE
vincolo
ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
ma puoi farlo se la tabella employee
è vuoto.
o se esistevano record, prova ad aggiungere IGNORE
ALTER IGNORE TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
AGGIORNAMENTO 1
Qualcosa è andato storto, credo. Devi solo aggiungere un vincolo univoco sulla colonna ename
da eno
sarà sempre univoco a causa di AUTO_INCREMENT
.
Per aggiungere un vincolo univoco, devi eseguire alcune pulizie sul tuo tavolo.
Le query seguenti eliminano alcuni record duplicati e alterano la tabella aggiungendo un vincolo univoco sulla colonna 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);
Ecco una dimostrazione completa