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 ;

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

相关推荐
BingoGo3 小时前
2025 年 PHP 常见面试题整理以及对应答案和代码示例
后端·php
知其然亦知其所以然3 小时前
MySQL 社招必考题:如何优化查询过程中的数据访问?
后端·mysql·面试
DemonAvenger5 小时前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化
程序新视界5 小时前
如何在MySQL中创建聚集索引?
mysql
AAA修煤气灶刘哥16 小时前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
程序新视界17 小时前
学习MySQL绕不开的两个基础概念:聚集索引与非聚集索引
mysql
RestCloud20 小时前
跨境数据传输:ETL如何处理时区与日期格式差异
mysql·api
RestCloud20 小时前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
得物技术1 天前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
xiaok1 天前
mysql中怎么创建一个可控权限数据库账号密码给到开发者
mysql