【问题标题】:How do I create an effective mysql database design, where it stores different values for multiple users?如何创建有效的 mysql 数据库设计,为多个用户存储不同的值?
【发布时间】:2019-02-11 10:19:36
【问题描述】:

我正在尝试制作一个网站,我需要制作一个显示随机问题的系统,如果用户回答正确,它将从随机打印中排除问题。
我需要一个表格,其中一列是问题编号,一列是布尔值,指示它是否已经被正确回答。
但我不能为每个用户创建一个表格,因为它会占用太多空间。有没有什么好的方法可以创建一个可以同时管理所有用户的数据库?

我真的迷失了我应该做的事情,所以我真的什么都做不了。

【问题讨论】:

    标签: php mysql database database-design


    【解决方案1】:

    执行此操作的规范方法是将user 字段添加到表中,该字段通过外键约束连接到users' 表主键。

    此字段需要一个(非唯一的)索引,并且将用作选择器以仅过滤那些适用于特殊用户的问题。

    在您的情况下,在user 字段和answered 字段上使用单个键将为带有WHERE 子句的查询创建一个完美的访问路径,类似于WHERE user=? AND answered=0

    【讨论】:

    • 我很抱歉,但我认为我要开始这样做......我什至不理解你使用的术语。不过谢谢,真的很感谢你以前回答的时间。
    【解决方案2】:

    我认为解决这个问题的最佳选择是创建 3 个不同的表;

    1º 表 -> 用户,它将存储 PRIMARY_KEY 作为 user_id(或您将提供的任何名称)。
    2º 表 -> 问题,也将有一个 PRIMARY KEY 和一个 VARCHAR 与文本
    3º 表 -> UserQuestion,此表将是两个表的混合,在此之前将是空的,但最终会生成...
    ----> 此表将 user_id 与 question_id 相关联,因此您将能够排除此表上的问题。

    【讨论】:

    • Ty,我会尝试以这种方式构建,但不确定我是否可以使不同的表一起工作......但无论如何我完全迷路了这是一个很好的帮助。
    猜你喜欢
    • 2015-10-17
    • 2016-03-21
    • 1970-01-01
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多