0

重複の可能性:
PHPとMySQLの評価システム

私は1から10までのスケールで評価システムに取り組んでいます。すべてのユーザーの評価を追跡し、ユーザーがその特定のアイテムをすでに評価しているかどうかを追跡できるようにしたいと思います。

注:-私はログインしているので、すべてのユーザーがデータベース内で一意のIDを持っています。-各特定のアイテムにも一意のIDがあります。

私の質問は、この情報を可能な限り最良の方法でデータベースに正確に保存するにはどうすればよいかということです。

これは私がそれをすることを考えている方法です:

Unique_Key | Item_ID | User_ID | User_rating
     1          1           1           (1-10)
     2          1           2           (1-10)
     3          2           2           (1-10)
     4          3           1           (1-10)
     5          4           1           (1-10)

したがって、ユーザーが評価しているItem_IDがすでにUser_IDとともにデータベースにある場合、評価することはできません。そうでない場合は、評価できます。

コーディングを始める前に、これが安全でクリーンな方法であるかどうかの提案を探しています。ありがとうございました。

4

1 に答える 1

2

itemID-の組み合わせに一意のキーを追加するuserIDと、これはその情報を保存するための保存方法になります。

このような一意のキーを追加できます

ALTER TABLE your_table
ADD UNIQUE (itemID, userID);

UNIQUE制約は、データベーステーブル内の各レコードを一意に識別します。UNIQUE制約とPRIMARYKEY制約はどちらも、列または列のセットの一意性を保証します。

于 2012-06-26T19:37:53.597 に答える