gpt4 book ai didi

php - 我网站上的复杂 Mysql 查询

转载 作者:行者123 更新时间:2023-11-30 22:36:48 26 4
gpt4 key购买 nike

我当前网站的情况基本上是一个复杂的提问者,大约有 400 个问题。

我有三个表。

1.问题

ID , QID, Question_Text,Event_name

2.用户

ID , Name ,Event_name

3.答案

ID, User_ID ,Question_ID , Answer_text

因此现在每个用户对答案表中的每个问题都有唯一的答案。

我的问题从这里开始。我更新了问题表中的新问题,因此老用户在新问题的答案表中没有答案,因此我的系统抛出错误。

所以我必须根据 Event 将空行插入答案表中,用于那些用户和答案表中不存在的问题。

请帮我写这个查询

我的尝试失败了

SELECT `user_id` FROM `answers` inner join users on answers.user_id=users.id inner join questions on questions.id=answers.question_id

谢谢

最佳答案

如果您有 10000 个用户并且每个问题将插入 10000 条记录,那将产生巨大的影响。随着时间的推移,用户会增加。

如果您可以更改模式,那么它可能是另一种方法。例如 - 你的答案表看起来像 - Answer(ID, User_ID as STRING, Question_ID),
Answer_text(Answer_id、User_id、Answer_text)。在 Answer 表中,user_id 列是字符串类型的列,其中包含 user_id 的逗号分隔字符串(逻辑上表示为外键,实际上不是)。在 Answer_text 表中,user_id 列是 Users 表的外键。当您获取记录时,您可以用逗号分隔字符串并以数组形式获取每个 user_id。

现在,当您添加问题时,默认情况下所有用户 ID 都以字符串形式连接并插入。仅插入 1 条记录。当任何用户回答时,您可以插入到 Answer_text 表中。

关于php - 我网站上的复杂 Mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32324298/

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