ホームページ > データベース > mysql チュートリアル > 一意のキー制約を使用して MySQL データベース内の重複レコードを削除するにはどうすればよいですか?

一意のキー制約を使用して MySQL データベース内の重複レコードを削除するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-25 22:05:02
オリジナル
245 人が閲覧しました

How to Eliminate Duplicate Records in a MySQL Database with a Unique Key Constraint?

MySQL データベースからの重複レコードの削除: 一意のキー ソリューション

データベースを効率的に運用するには、データの整合性を維持することが重要です。この例では、「id」列と「title」列を持つテーブルが表示されますが、「title」は別のものである必要があります。ただし、多数の重複を含む 600,000 件を超えるレコードが存在するため、一意性を実現することが困難になります。私たちの目標は、一意のタイトルを損なうことなく、これらの重複エントリを削除することです。

解決策は、一意のキー制約の力を利用することにあります。 「title」列に UNIQUE キーを追加することで、効果的に一意性を強化し、重複レコードの挿入や更新を防ぐことができます。ただし、重複が存在する列に一意のキーを直接追加すると、エラーが発生します。

この問題に対処するには、「ALTER IGNORE TABLE」コマンドの後に「ADD UNIQUE KEY」句を使用します。このコマンドは、一意のキーの追加中に発生する可能性のあるエラーを無視するように MySQL に指示します。その結果、一意制約に違反する重複行はすべてサイレントに削除され、重複が効果的に排除されます。

使用できるコマンド構文は次のとおりです。

<code class="sql">ALTER IGNORE TABLE table ADD UNIQUE KEY idx1(title);</code>
ログイン後にコピー

このコマンドは次の点に注意してください。特定の MySQL バージョンでは InnoDB テーブルと互換性がない場合があります。このような場合、別の回避策については、この投稿を参照してください。

このコマンドを実行すると、「title」列に一意のキーが確立され、重複するレコードがすべて一度に削除されます。これにより、タイトルの一意性を確保しながら、データの整合性を維持できます。

以上が一意のキー制約を使用して MySQL データベース内の重複レコードを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート