ændre tabellen ved at tilføje UNIQUE
begrænsning
ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
men du kan gøre dette, hvis tabellen employee
er tom.
eller hvis der eksisterede poster, prøv at tilføje IGNORE
ALTER IGNORE TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
OPDATERING 1
Noget gik galt, tror jeg. Du behøver kun at tilføje en unik begrænsning på kolonnen ename
siden eno
vil altid være unik på grund af AUTO_INCREMENT
.
For at tilføje en unik begrænsning skal du lave nogle oprydninger på dit bord.
Forespørgslerne nedenfor sletter nogle duplikerede poster og ændrer tabel ved at tilføje en unik begrænsning på kolonnen 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);
Her er en komplet demonstration