2009-03-24 9 views
3

繰り返しデータをテーブルに挿入するのを防ぐ簡単な方法はありますか?つまり、キーは常に異なっていますが、残りのエントリは繰り返され、同じデータを識別する2つ以上の異なるキーがあります。繰り返し情報をSQLに挿入しないようにする

私はテーブル全体を検索することができましたが、これを行うときにパフォーマンスが低下することを恐れています。

注:私はSQLを学び始めたばかりです。これがあなたには間違った質問であれば、私にご負担ください。

答えて

10

テーブルにUNIQUE constraintが必要です。

+0

主キーとして私のIDカード番号を使用している場合は、私の個人的な記録はオールウェイズあなたからdiferentされるだろう。また、あなたは、DBに送信する前に、あなたのデータを正規化することができます。同じ事を表す複数の方法がある場合、dbは知りません。たとえば、電子メールアドレスにはHTMLエンティティ、大文字小文字などが含まれている可能性があります。Fred&#46Weasley&#64GMail.com == [email protected] – Wedge

-1

データベースの重複エントリの特定と削除は、実際には学術研究のトピックです。 「ベストプラクティス」に加えて、真実の答えを与える可能性はほとんどありません。

住所や電話などの会社登録データでもこの問題が発生しました。データのすべてのバリエーションを絞り込み、簡単なチェックを実装するだけで済みます。おそらく、これらの小切手をどのデータでも完璧な結果にする(良い)方法はありません。

0

UNIQUE制約は、データが2回挿入されないようにします。あなたのDBMSのドキュメントでそれについて学んでください。

2

Joelは、繰り返しデータを必要としないいくつかのフィールドでUNIQUE制約を使用できると述べました。

また、主キーが常に固有のレコードを識別できるようにする場合は、この問題に遭遇しないようにしてください。

例:私たちは

+0

実際のPKを使用して行を識別するアイデア –

関連する問題