Ändern Sie die Tabelle, indem Sie UNIQUE hinzufügen Einschränkung
ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
aber Sie können dies tun, wenn die Tabelle employee ist leer.
oder wenn Datensätze vorhanden sind, versuchen Sie, IGNORE hinzuzufügen
ALTER IGNORE TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
AKTUALISIERUNG 1
Irgendetwas ist schief gelaufen, denke ich. Sie müssen nur der Spalte ename eine eindeutige Einschränkung hinzufügen seit eno wird aufgrund von AUTO_INCREMENT immer eindeutig sein .
Um Unique Constraint hinzuzufügen, müssen Sie einige Aufräumarbeiten an Ihrer Tabelle vornehmen.
Die folgenden Abfragen löschen einige doppelte Datensätze und ändern die Tabelle, indem sie der Spalte ename eine eindeutige Einschränkung hinzufügen .
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 ist eine vollständige Demonstration