změňte tabulku přidáním UNIQUE
omezení
ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
ale můžete to udělat, pokud tabulka employee
je prázdný.
nebo pokud záznamy existovaly, zkuste přidat IGNORE
ALTER IGNORE TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
AKTUALIZACE 1
Asi se něco pokazilo. Musíte pouze přidat jedinečné omezení do sloupce ename
od eno
bude vždy jedinečný kvůli AUTO_INCREMENT
.
Chcete-li přidat jedinečné omezení, musíte na stole provést nějaké vyčištění.
Níže uvedené dotazy odstraní některé duplicitní záznamy a změní tabulku přidáním jedinečného omezení do sloupce 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);
Zde je úplná ukázka