共计 975 个字符,预计需要花费 3 分钟才能阅读完成。
三张表 用来实现群组功能
CREATE TABLE `group` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '群 ID',
`type` tinyint unsigned NOT NULL DEFAULT '1' COMMENT '群类型 [1: 普通群;2: 企业群;]',
`name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT ''COMMENT' 群名称 ',
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='群';
CREATE TABLE `group_apply` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '自增 ID',
`group_id` int unsigned NOT NULL DEFAULT '0' COMMENT '群组 ID',
`user_id` int unsigned NOT NULL DEFAULT '0' COMMENT '用户 ID',
`status` int NOT NULL DEFAULT '1' COMMENT '申请状态',
`updated_at` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='申请加群表';
CREATE TABLE `group_member` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '自增 ID',
`group_id` int unsigned NOT NULL DEFAULT '0' COMMENT '群组 ID',
`user_id` int unsigned NOT NULL DEFAULT '0' COMMENT '用户 ID',
`leader` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '成员属性 [0: 普通成员;1: 管理员;2: 群主;]',
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='群成员表';
疑问
- 用户退出群后 是用一个状态标记好 还是直接 删除 group_member 表的 用户记录好
正文完