与好友聊天时,聊天记录是肯定需要保存下来的,当然不一定保存在关系型数据库中,我觉得这部分应该是要放在nosql数据中的,但我这里就以mysql说明
CREATE TABLE `tb_chat_record` (
`id` varchar(255) NOT NULL COMMENT 'id',
`userid` varchar(255) DEFAULT NULL COMMENT '用户id',
`friendid` varchar(255) DEFAULT NULL COMMENT '好友id',
`has_read` int(1) DEFAULT NULL COMMENT '是否已读',
`createtime` date DEFAULT NULL COMMENT '聊天时间',
`has_delete` int(1) DEFAULT NULL COMMENT '是否删除',
`message` varchar(1024) DEFAULT NULL COMMENT '消息',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
最中要的一部分就是当登陆的用户gxm打开与好友zzl的聊天框时,应将两者之间的聊天历史给加载出来
-
方法一
所以在后台按照聊天的事件顺序排好,发给前端,前端直接按照顺序判断是用户的信息还是朋友的信息,进行渲染即可
-
方法二
后台不管,全部交给前台,前台拿到数据,先进行聊天时间的排序,再进行数据的渲染
-
方法三
后台与前台都步排序,按照mysql插入数据的时候的顺序,默认返回,(此时聊天记录为逻辑删除,即不在数据库中真正的删除)
但方法三需注意一点
MySQL:
对于 MyISAM 表 ,Select 默认排序是按照物理存储顺序显示的。
而InnoDB 表,会按主键的顺序排列。
好的,我来为您设计一个MySQL数据库表格,用于存储IM系统的聊天记录等数据。
首先,您需要为表格创建一个名称,例如 "chat_history"。然后,创建以下字段:
id:整型,主键,自动递增
sender:字符型,发送者的用户名
receiver:字符型,接收者的用户名
message:文本型,聊天信息内容
timestamp:时间戳,记录信息发送的时间
您可以使用以下SQL语句来创建表...
在进行聊天室项目以前,我从来没有接触过mysql,但是mysql在聊天室的开发过程中起到了非常重要的作用;我们许多功能的实现都需要依靠数据库,毕竟我们的server不可能一直运行,有时一个功能实现的关键就在于数据表。
关于聊天室的建表我也是根据整体服务器的架构来进行
首先我们需要把每一个用户的基础信息记录下来,
用户数据表——UserData
在聊天之前,我们需要先有好友列表,
好友列表——FriendsList
关于好友列表,我们可以给每一个用户创建一个数据表,这个表的名字为这个用户的用户名"u
一、基本描述
系统拥有多个用户,每个用户拥有一个账号,用户基本信息包括姓名、昵称、个性签名、邮箱、密码、头像。每个用户拥有多个好友,一个用户可被多个用户添加,每个用户可加入一个或多个群组,每个群组拥有多个用户。群组信息包括 创建者账号、群名、说明、群头像、群用户
二、...
U_ID Int 主键、自增
U_LoginID Varchar(20) (登陆账号)
U_NickName Varchar(20) (昵称)
U_PassWord Varcha