gpt4 book ai didi

php - 分数上下的数据库关系,像stackoverflow那样?

转载 作者:行者123 更新时间:2023-11-29 08:21:22 25 4
gpt4 key购买 nike

如何创建分数上下的数据库关系,就像stackoverflow那样?

就像没有同一用户可以为自己的问题投票一样,其他人只能投票给一个问题,无论是负面的还是正面的。

假设我添加的问题是 question_id = 25 和我的 user_id=04。还有另外 3 位用户,user_id =01, 02, 03 分别。

现在 user_id = 04 无法对 Question_id = 25 的问题进行投票。(没问题)

我希望 user_id = 01 、 02 、 03 的用户投票。

是否会像数据库中为每次投票创建的每一行一样?

question_id     user_id
25 01
25 02
25 03

检查用户是否对某个问题投票?

或者有没有办法在同一字段中容纳选民 user_id ?

question_id      user_id
25 01, 02, 03

可行吗?如果您有更好的方法请回复

最佳答案

请勿在字段中使用逗号分隔值。

CREATE TABLE Votes (
question_id int unsigned,
user_id int unsigned,
vote boolean null default null,
unique key (question_id, user_id)
);

此架构将阻止多个 question_iduser_id 条目。

当用户创建问题时,您可以创建一个带有 NULL 值的 Votes 条目,该值将阻止另一个条目,但也意味着不投票。对于其他人,10 可能是“赞成”和“反对”投票。

如果您应该从我的回答中学到一件事,那就是避免在字段中使用逗号分隔值

关于php - 分数上下的数据库关系,像stackoverflow那样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19305494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com