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);
これが完全なデモンストレーションです