verander de tabel door UNIQUE . toe te voegen beperking
ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
maar u kunt dit doen als de tabel employee is leeg.
of als er records waren, probeer dan IGNORE toe te voegen
ALTER IGNORE TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
UPDATE 1
Er is iets misgegaan, denk ik. U hoeft alleen een unieke beperking toe te voegen aan kolom ename sinds eno zal altijd uniek zijn vanwege AUTO_INCREMENT .
Om een unieke beperking toe te voegen, moet je wat opschonen op je tafel.
De onderstaande query's verwijderen enkele dubbele records en wijzigen de tabel door een unieke beperking toe te voegen aan 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);
Hier is een volledige demonstratie