1. ホーム
  2. mysql

[解決済み] MySQL - 既存のフィールドを一意にする

2022-04-21 17:18:42

質問

既存のテーブルに、一意であるべきフィールドがありますが、一意ではありません。このことが分かったのは、既に存在する別の項目と同じ値を持つ項目がテーブルに作成され、それが問題を引き起こしたからです。

このフィールドが一意な値しか受け付けないようにするには、どうしたらよいでしょうか。

どのように解決するのですか?

ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);


MySQL 5.7.4 以降の場合。

ALTER TABLE mytbl ADD UNIQUE (columnName);

MySQL 5.7.4 では、ALTER TABLE の IGNORE 句は削除されており、また を使用すると、エラーが発生します。

そのため、IGNOREキーワードはサポートされなくなったので、重複するエントリーを先に削除するようにしてください。

リファレンス