modifier le tableau en ajoutant UNIQUE
contrainte
ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
mais vous pouvez le faire si la table employee
est vide.
ou si des enregistrements existaient, essayez d'ajouter IGNORE
ALTER IGNORE TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
MISE À JOUR 1
Quelque chose s'est mal passé, je suppose. Il vous suffit d'ajouter une contrainte unique sur la colonne ename
depuis eno
sera toujours unique en raison de AUTO_INCREMENT
.
Afin d'ajouter une contrainte unique, vous devez faire quelques nettoyages sur votre table.
Les requêtes ci-dessous suppriment certains enregistrements en double et modifient la table en ajoutant une contrainte unique sur la colonne 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);
Voici une démonstration complète