PHP框架+gatewayworker实现在线1对1聊天--mysql数据库(3)

聊天系统的数据库准备

数据库比较简单,就两张表。一张是用户表,包含用户姓名,头像。因为只是实现聊天功能,其他的字段省略了。另一张表示聊天内容表,记录字段包含发送人id,发送人姓名,接收人id,接收人姓名,发送的内容,内容的类型。这里将内容分为了文本、图片、表情3类。

sql 复制代码
CREATE TABLE IF NOT EXISTS `user` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
  `user_name` varchar(30) NOT NULL DEFAULT '' COMMENT '用户姓名',
  `avatar` varchar(100) NOT NULL DEFAULT '' COMMENT '头像',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8mb4  COLLATE=utf8mb4_general_ci  COMMENT='用户表' AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `chat` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
  `from_id` int(10) unsigned NOT NULL default 0 COMMENT '发送人id',
  `from_user_name` varchar(30) NOT NULL DEFAULT '' COMMENT '发送人姓名',
  `to_id` int(10) unsigned NOT NULL default 0 COMMENT '接收人id',
  `to_user_name` varchar(30) NOT NULL DEFAULT '' COMMENT '接收人姓名',
  `content` varchar(500) not null default '' comment '内容',
  `content_type` tinyint(1) unsigned NOT NULL default 0 COMMENT '内容类型,1文本,2图片,3表情',
  `add_time` int(10) unsigned NOT NULL default 0 COMMENT '添加时间',
  `add_time_f` char(19) NOT NULL default '' COMMENT '格式化后添加时间',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8mb4  COLLATE=utf8mb4_general_ci  COMMENT='聊天内容表' AUTO_INCREMENT=1 ;

数据库也准备好了,万事俱备,只欠东风了。可以开始实现功能了。

相关推荐
浅念-19 分钟前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
updayday85432 分钟前
离职域账号状态变更与Ping64操作记录核对
大数据·网络·数据库·安全·智能路由器
aramae35 分钟前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
Nturmoils1 小时前
只恢复一张表,别把整个库都还回去
数据库
龙腾AI白云1 小时前
大语言模型:从语言理解到通用智能的跃迁
数据库·人工智能·机器学习·知识图谱
辛迪聊物业数字化2 小时前
智慧物业管理平台架构实践:从SaaS物业云到商管系统的全模块落地
大数据·微服务·php
SelectDB2 小时前
快手基于 Apache Doris 千亿多模态检索的实践
大数据·数据库·数据分析
SelectDB2 小时前
StarRocks 迁移至 Apache Doris 完整指南:三步完成结构、数据与业务平滑切换
大数据·数据库·数据分析
这个DBA有点耶2 小时前
InnoDB索引组织表下,复合主键和自增主键的物理存储差异与选型对比
数据库·mysql·架构
李少兄2 小时前
数据库批量清理前置防御:如何严谨校验目标表是否存在
mysql