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