променете таблицата, като добавите UNIQUE
ограничение
ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
но можете да направите това, ако таблицата employee
е празен.
или ако съществуват записи, опитайте да добавите IGNORE
ALTER IGNORE TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
АКТУАЛИЗИРАНЕ 1
Нещо се обърка, предполагам. Трябва само да добавите уникално ограничение за колона ename
тъй като eno
винаги ще бъде уникален поради AUTO_INCREMENT
.
За да добавите уникално ограничение, трябва да направите някои почиствания на вашата маса.
Заявките по-долу изтриват някои дублиращи се записи и променят таблицата, като добавят уникално ограничение към колона 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);
Ето пълна демонстрация