PHP框架+gatewayworker实现在线1对1聊天--mysql数据库(3)
聊天系统的数据库准备
数据库比较简单,就两张表。一张是用户表,包含用户姓名,头像。因为只是实现聊天功能,其他的字段省略了。另一张表示聊天内容表,记录字段包含发送人id,发送人姓名,接收人id,接收人姓名,发送的内容,内容的类型。这里将内容分为了文本、图片、表情3类。
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 ;
数据库也准备好了,万事俱备,只欠东风了。可以开始实现功能了。