gpt4 book ai didi

mysql - 用于存储人与人之间聊天消息的数据库设计

转载 作者:IT老高 更新时间:2023-10-28 23:55:30 25 4
gpt4 key购买 nike

我正在尝试构建消息/聊天系统。它可以按时间顺序存储两个人之间的对话。此外,如果用户 A 删除了对话,用户 B 仍然应该可以访问该对话,直到他希望删除它们为止。

  1. 收件箱 - 用户从不同用户收到的所有消息将与来自该特定线程的最新消息一起显示。

  2. 对话屏幕 - 用户 A 和用户 B 之间对话的时间顺序

这是我想出的数据库的基本结构。我应该将消息存储在数据库中两次吗?

  1. 编号
  2. to_id
  3. 来自_id
  4. 留言
  5. 时间戳
  6. 阅读

最佳答案

我会为将存储谁有权查看该消息的消息使用查找表

table->message                   |    table->messageUsers
id->0, message->'hi', user_id->1 user_id->1, message_id->0
user_id->2, message_id->0

这样,如果用户删除他们的消息,他们实际上只是删除了他们与消息的关系,而不是消息本身。您只需将它们从 messageUsers 表中删除即可。或将事件字段设置为 1 或 0。

关于mysql - 用于存储人与人之间聊天消息的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8105927/

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