2012-03-18 9 views
0

私はこの1つに固執しており、開発者からのフィードバックを探しています - あなたの助けは非常に高く評価されます!MySQL - 複数のテーブル正しい結果の問題を見つける

は、まず私は、MySQLで最大はので、私は、各クエリを通じて自分の道を苦労していないんだけど、私はあなたたちは、私は私の問題を解決するために必要な正しいテーブルを確認することができ願っています。

私はすでにデータを記入した "ユーザー"テーブルを持っています。

一般的な要点は、私は、少なくとも第三正規形であることを必要とするものをテーブルへと私は一緒に入れていると、それはこの時点で私の頭を傷つけていたプロジェクトのための投票システムを持っている必要があります。

ユーザーが別のユーザーに投票することができ、私はuser2のに投票user1は再びuser2の上、投票を再度決してできるように記録し、これを必要とします。

私はウェブサイト上でこれらの投票に&表示を思い出すことができるように願っています。

私は3つのテーブルを持っているが、「ユーザー」以外の作成が、私は、これはあなたの助けを借りてよりよく行うことができると思います。

乾杯ミック

答えて

0

最も簡単な構造はおそらくちょうどあなたの既存ユーザテーブルを持っており、投票を追跡するためにvotesテーブルを追加することです。

CREATE TABLE votes (
    user_who_voted INT NOT NULL, 
    user_who_received_vote INT NOT NULL 
); 

CREATE UNIQUE INDEX only_one_vote 
ON votes(user_who_voted, user_who_received_vote); 

一意のインデックスは、その投票が一意であることを追跡します。同じ人物に対する2番目の投票は失敗します。

は、それがどのように動作するか例えばhereを参照してください。

+0

これは午前中にこれを実装して、それがどのようになっているかを教えてくれます。私は今日非常に進歩し、ちょうどこのマイナーロードブロックを打った! –

+0

私は合計で4人のテーブル、ユーザー、投票、who_voted&user_votes –

関連する問題