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 和 PRIMARY KEY 约束都为一列或一组列提供唯一性保证。

于 2012-06-26T19:37:53.597 回答