【问题标题】:How to store chat messages in mysql database?如何将聊天消息存储在mysql数据库中?
【发布时间】:2017-11-02 01:41:15
【问题描述】:

我正在为我的网站创建一个聊天应用程序!现在的问题是如何将聊天消息存储在数据库中!如何在数据库中存储一个特定人的聊天消息!假设有一张桌子 用户名聊天 约翰你好,你好吗?

在这种情况下,我只能为一个人存储一条消息!如何为一个人存储多条消息?认为: 用户名聊天 约翰你好,你好吗? 这是怎么回事? 只是闲逛!

请告诉我如何将消息存储在数据库中!另外请建议我应该将消息存储在数据库还是文本文件中?

【问题讨论】:

  • 通常,数据库存储如用户名->John 消息->你好吗?但是我想为一个字段存储多条消息,例如用户名->约翰,
    消息->你好吗?
    你好!
    Love Stack Overflow
    请告诉我如何为一个文件存储多条消息,即用户名!
  • 您最好从数据库架构基础知识中学习。您必须仔细设计您的架构,因为它可能涉及很多复杂的关系。
  • 您必须维护一个带有chatId 和chartStartTime 和chartEndTime 的表。使用 ChatId 作为外键创建另一个表,并在其中输入 UserId 和 ChatDetails。这是你想要的吗?
  • 你有什么想法吗?
  • 那能不能把一个表的一个字段连接到另一个表的另一个字段Nayas?

标签: php mysql


【解决方案1】:

用于聊天的通信表示例

主键表用户名id 在字段复制消息中,表已编辑

【讨论】:

    【解决方案2】:

    你可以设计这样的东西

    表格

    **ChatMaster** (Main table keep chat session details)
    ChatId int identity, ChatStartTime datetime, ChatEndTime
    
    **ChatDetails** (To keep chat message details and user from)
    ChatDetailsId int identity, ChatMessage varchar(max), ChatId int foreign key, FromUserId int Foreign key, EntryTime datetime, IsActive bit
    
    **ChatUsers** (to users) 
    ChatUserId int identity, ChatDetailsId int foreign key, ToUserIds int foreign key
    

    【讨论】:

    • 非常感谢您设计这个!
    • 检查是否对您有帮助,如果对您有帮助请标记为答案
    • 是的,好的!这将需要一些时间!顺便说一句,您更喜欢 OP PHP 还是 PROCEDURAL PHP?
    • 我的意思是 OOP PHP 或过程 PHP
    • 我不是 php 方面的。但我认为面向对象编程将帮助您更好地维护项目。
    猜你喜欢
    • 2018-09-30
    • 2013-03-04
    • 2012-01-11
    • 2019-07-09
    • 1970-01-01
    • 2017-02-10
    • 2019-03-02
    • 2011-10-27
    • 2012-08-30
    相关资源
    最近更新 更多