SQL_game_db
2022/1/2 2:07:22
本文主要是介绍SQL_game_db,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
创建数据库:CREATE DATABASE `game_s1`;
在game数据库source game_db.sql:
CREATE TABLE IF NOT EXISTS `account` ( `accountid` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '账号ID,唯一,自增', `accountname` VARCHAR(64) NOT NULL COMMENT '账号名', `passwd` VARCHAR(32) NOT NULL COMMENT '密码', `createtime` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '账号创建时间', `lastlogintime` DATETIME COMMENT '上次登录时间', `lastlogouttime` DATETIME COMMENT '上次登出时间', `status` INT DEFAULT 0 COMMENT '状态 0正常 1被封禁', PRIMARY KEY (`accountid`), UNIQUE KEY `uk_accountname` (`accountname`) ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS `role` ( `accountid` INT UNSIGNED NOT NULL COMMENT '角色所属账号ID', `roleid` BIGINT NOT NULL COMMENT '角色ID', `rolename` VARCHAR(64) NOT NULL COMMENT '角色名字', `createtime` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '角色创建时间', `serverid` INT DEFAULT 0 COMMENT '当前所在的服务器ID,合服会改变该值', `bornserverid` INT DEFAULT 0 COMMENT '创建时的服务器ID', `status` INT DEFAULT 1 COMMENT '等于0:已删除,第0位:被封禁,第1位:有效,第2位:首选,第3位:是否在线', `level` INT DEFAULT 1 COMMENT '等级', `exp` BIGINT DEFAULT 0 COMMENT '经验', `data` MEDIUMBLOB DEFAULT NULL COMMENT '角色其他数据,json格式', PRIMARY KEY (`roleid`), INDEX `idx_accountid` (`accountid`), INDEX `idx_rolename` (`rolename`) ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS `currency` ( `roleid` BIGINT NOT NULL COMMENT '货币所属角色ID', `currencytype` INT UNSIGNED NOT NULL COMMENT '货币类型', `currencyvalue` BIGINT DEFAULT 0 COMMENT '货币值', PRIMARY KEY (`roleid`, `currencytype`) ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS `bagitem` ( `roleid` BIGINT NOT NULL COMMENT '背包物品所属角色ID', `bagid` INT NOT NULL COMMENT '背包ID', `guid` BIGINT NOT NULL COMMENT '物品的唯一ID', `itemid` INT NOT NULL COMMENT '物品类型ID', `count` INT DEFAULT 0 COMMENT '数量', `bind` INT DEFAULT 0 COMMENT '是否绑定', `expirationtime` DATETIME DEFAULT 0 COMMENT '过期时间', `attrs` BLOB DEFAULT NULL COMMENT '特殊属性', INDEX `idx_roleid` (`roleid`) ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4; /****************************************/ /* create procedure */ /****************************************/ DROP PROCEDURE IF EXISTS `createnewrole`; DELIMITER $$ CREATE PROCEDURE `createnewrole` ( IN _accountid INT UNSIGNED, IN _roleid BIGINT, IN _rolename VARCHAR(64), IN _serverid INT, IN _bornserverid INT) BEGIN DECLARE nowcount INT DEFAULT 0; SET nowcount = (SELECT COUNT(*) FROM `role` WHERE `status`<>0 AND `accountid`=_accountid AND `serverid`=_serverid AND `bornserverid`=_bornserverid); IF nowcount < 3 THEN INSERT INTO `role`(`accountid`,`roleid`,`rolename`,`serverid`,`bornserverid`,`status`) VALUES(_accountid,_roleid,_rolename,_serverid,_bornserverid,2); END IF; END $$ DELIMITER ; -- CALL `createnewrole`(1,1,'rose',1,1);
这篇关于SQL_game_db的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南