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 サイトの他の関連記事を参照してください。