多重互相关联 这里实际上工作当中涉及到的数据库多重关联问题, 而且这是目前所有系统系统当中大概率会接触到的问题, 假设目前后台需要设计游戏邮件表处理游戏邮件发放, 这里初版表结构如下:
CREATE TABLE `game_mail_list` ( `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', `server_id` JSON NOT NULL COMMENT '发送的服务器id', `player_id` JSON NOT NULL COMMENT '发送的玩家id', `type` TINYINT(3) UNSIGNED NOT NULL COMMENT '邮件类型', `title` VARCHAR(255) NOT NULL COMMENT '邮件标题' COLLATE 'utf8mb4_unicode_ci', `content` LONGTEXT COMMENT '邮件内容' COLLATE 'utf8mb4_unicode_ci', `item` LONGTEXT COMMENT '附件内容', `create_time` INT(10) UNSIGNED NOT NULL COMMENT '创建时间', `push_time` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '推送时间', `start_time` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '展示开始时间', `end_time` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '展示结束时间', `delete_time` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '软删除时间', `update_uid` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '操作者', `check_status` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT '审核状态: 0 代表等待审核, 1代表审核通过,2代表审核拒绝', `check_uid` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '审核处理人', `check_time` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '审核时间', PRIMARY KEY (`id`) USING BTREE ) COMMENT ='玩家邮件列表' COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB ROW_FORMAT = DYNAMIC; 十分简单的表, 直接记录后台创建对应 服务器ID+玩家ID 即可, 基本上满足前期推送游戏邮件需求.