gpt4 book ai didi

php - 选择字段内包含用户 ID 的 mysql 行

转载 作者:行者123 更新时间:2023-11-29 04:36:57 25 4
gpt4 key购买 nike

我正在开发某种类型的私有(private)对话网站,我正在将对话存储在一个表中(消息存储在另一个表中)

这是格式:

  • Id:自增
  • Title:Varchar,代表 session 名称
  • 成员:保存有权访问对话的成员的 ID

我的问题是我存储成员的方式实在是太糟糕了。我正在使用 user1Id;user2Id;user3Id

尝试获取特定玩家的所有对话时出现问题。

我的问题是:有没有更好的方法来存储 ID? (如果可能,在一个字段上)并且还能够选择特定 ID 的所有对话?

最佳答案

“正确的”、规范化的数据库方式是有另一个表,member_conversation_map 有两列——成员 ID 和对话 ID,并用例如 查询它在 运算符中:

SELECT *
FROM conversations
WHERE id IN (SELECT conversation_id
FROM member_conversation_map
WHERE member_id = 123)

如果那不是一个选项,并且您确实必须将成员 ID 放在数据库的单个单元格中,那么至少使用逗号而不是分号作为分隔符。这将允许您使用 MySQL 的 find_in_set :

SELECT *
FROM conversations
WHERE FIND_IN_SET('123', members) > 0

关于php - 选择字段内包含用户 ID 的 mysql 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39022896/

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