質問の形式と記事の焦点を考慮した、いくつかのタイトルのオプションを次に示します。 **オプション 1 (直接的かつ簡潔):** MySQL で一意でないインデックスを作成した後に重複を削除するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-25 12:37:02
オリジナル
855 人が閲覧しました

Here are a few title options, keeping in mind the question format and the article's focus:

**Option 1 (Direct & Concise):** 
How to Remove Duplicates After Creating a Non-Unique Index in MySQL?

**Option 2 (More Specific):**
MySQL Duplicate Rows: How to

一意のインデックスによる重複の削除

指定されたシナリオでは、列のインデックスの構成ミスにより、誤って重複がテーブルに挿入されました。 A、B、C、D。重複を防ぐという目的にもかかわらず、作成されたインデックスは一意のインデックスではなく通常のインデックスでした。

クエリ実行

If既存のインデックスを通常のインデックスから一意のインデックスに変更するか、同じ列に新しい一意のインデックスを追加しようとすると、重複レコードの存在によりクエリは失敗します。

IGNORE による代替解決策オプション (5.7.4 より前)

ALTER TABLE 構文で IGNORE オプションを使用すると、重複を削除できます。

<code class="sql">ALTER IGNORE TABLE mytable ADD UNIQUE INDEX myindex (A, B, C, D);</code>
ログイン後にコピー

これにより重複行が破棄されますが、ドキュメントでは、どの行が保持されるかが指定されていないことに注意してください。

MySQL 5.7.4 以降のソリューション

バージョン 5.7.4 以降の場合は、無視してください。は ALTER TABLE ではサポートされなくなりました。ただし、次のアプローチを使用することもできます。

  1. データを一時テーブルにコピーします。
  2. 元のテーブルを切り詰めます。
  3. テーブルに一意のインデックスを作成します。 .
  4. INSERT IGNORE を使用してデータを元のテーブルに挿入し直します。

このプロセスでは、INSERT 操作中に重複が削除されます。

以上が質問の形式と記事の焦点を考慮した、いくつかのタイトルのオプションを次に示します。 **オプション 1 (直接的かつ簡潔):** MySQL で一意でないインデックスを作成した後に重複を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!