python 2.7系
MySQLdbを使用
複数のカラムの組み合わせによるユニーク制約をプログラム側(DB側ではなく)でやりたいです。
理由としましては、
条件によっては、重複を許すケースも今後でてくるため、DB側ではなくプログラム側で制御できるようにしたいです。
Entryテーブル - id - name - company_user_code - category_id - campaign_id - created_at
Entryのレコードを生成するときに、
- company_user_code
- category_id
- campaign_id
上記IDの組み合わせをチェックして、重複チェックをしたいです。
company_user_codeというのは複数の会社が管理しているIDを譲り受ける予定のため、
おそらく、重複したIDというのが発生します。
そのため、company_user_code単体での重複チェックができません。
なので、上記の組み合わせによる、重複チェックをやりたいです。
しかし、以下のようなプロセスを考えましたが、Entryの数が増えれば増えるほど、
この処理は重くなるのではないかと不安です。
DBに保存しているEntryのデータをすべて取得 ↓ 重複チェック ↓ 問題なければレコードを生成
こういうケースにおいてどのようにするのがいいのかアドバイス頂けますと幸いです。
宜しくお願いします。
追記
設計はまだきまってませんが、
duplicate_enable
というカラムを用意して、これがtrueの場合は重複を許し、falseの場合は、重複を許さないといった作りに
しなくてはいけません。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/18 04:50
2016/07/18 04:53 編集
2016/07/18 04:53
2016/07/18 04:57
2016/07/18 05:00
2016/07/18 05:00
2016/07/18 05:03
2016/07/18 05:03
2016/07/22 03:02