在设计一些数据表时,我们经常遇到这样一种情况:需要表中的一个字段根据另一字段进行自增长,比如,在数据表中存储玩家的武器信息时,需要存储玩家的武器对应的bagid,这就是一个根据玩家自己的id(玩家id)进行自增长的字段。

这就需要我们进行合理的数据表设计了,要设计支持这种情况的数据表,我们现需要了解常用的数据表类型,mysql数据表主要支持两大类6种类型:

1)事务安全型Transaction-Safe:包括InnoDB和BDB(最新版本已不支持BDB);

2)非事务安全型Non-Transaction-Safe:包括MyISAM、ISAM、Merge、Heap;

,这里我们只考虑最常用的两种类型InnoDB和MyISAM,若要创建支持上述功能的数据表,则数据表的类型需要是MyISAM类型,示例语句如下:

#创建数据表的语句

create table tablename
(
PlayerId int(10) not null,
BagId int(10) not null auto_increment,
WeaponId char(14) not null,
primary key(PlayerId, BagId)
) engine = MyISAM;

#测试向创建的表中插入数据

insert into tablename(PlayerId, WeaponId)
values(1000, "1000"),
(1000, "1001"),
(1001, "2000"),
(1002, "3000"),
(1000, "1003"),
(1002, "1001"),
(1000, "1005");

插入后的数据表如下所示:

PlayerId BagId WeaponId

1000 1 1000
1000 2 1001
1001 1 2000
1002 1 3000
1000 3 1003
1002 2 1001
1000 4 1005

mysql 建立表里某的个字段根据另一字段进行自增长的更多相关文章

  1. navicat为mysql建立索引

    索引的目的是大大提高查询效率,还有读写效率. kettle向sql里面插入,更新时,也要建立索引,可以大大提升处理时间. 但是建立索引报错:Specified key was too long; ma ...

  2. mysql判断表里面一个逗号分隔的字符串是否包含单个字符串、查询结果用逗号分隔

    1.mysql判断表里面一个逗号分隔的字符串是否包含单个字符串 : FIND_IN_SET select * from tablename where FIND_IN_SET(传的参数,匹配字段) 例 ...

  3. mysql建立索引的几大原则

    (转)仅供自己学习,特此记录 1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录.例如,学生表中学号是具有唯一性的字段.为该字段建立唯一性索引可以很快的确定某个学生的信息 ...

  4. vue+nodejs+express+mysql 建立一个在线网盘程序

    vue+nodejs+express+mysql 建立一个在线网盘程序 目录 vue+nodejs+express+mysql 建立一个在线网盘程序 第一章 开发环境准备 1.1 开发所用工具简介 1 ...

  5. 如何为mysql建立索引

    前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过 ...

  6. mysql建立索引类型及索引建立的原则

    索引类型:Unique(唯一索引,一般为主键),Normal(一般索引,普通字段,可做组合索引),索引方法:BTREE 1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录 ...

  7. paip.解决 数据库mysql增加列 字段很慢添加字段很慢

    paip.解决 数据库mysql增加列 字段很慢添加字段很慢 #环境如下: mysql5.6    数据仅仅3w alter table xxx add column yyy int default ...

  8. mysql 建立索引场合及索引使用

    索引建立场合: ① where后边字段 适合建立索引 ② order by 排序字段适合建立索引 ③ 索引覆盖 即 所要查询的字段本身就是索引 直接在索引中查询数据. 例如 select name,a ...

  9. paip.提升性能--- mysql 建立索引 删除索引 很慢的解决.

    paip.提升性能--- mysql 建立索引 删除索引 很慢的解决. 作者Attilax ,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blo ...

随机推荐

  1. Mysql中explain命令查看语句执行概况

    Mysql中可以使用explain命令查看查询语句的执行方式,使用方法举例:explain + 查询语句 例如:explain select * from user_info 几个重要的字段说明: t ...

  2. 【原创】CMD常用命令:解决实际问题

    1.查找某一目录下后缀名文某某的所有文件. 命令格式:dir *.mp3 /a -d/b/s >C:\Users\leemo\Desktop\total.txt MP3为文件后缀名.>是命 ...

  3. js实现中文简繁切换效果

    html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  4. ubuntu14.04下 Android虚拟机 genymotion 的下载和安装

    官网:https://www.genymotion.com/ Install Guide https://www.genymotion.com/#!/developers/user-guide#ins ...

  5. 01 Hello, Python!

    目标:万能的Hello,World! 接收用户输入,并打印出来. #!/usr/bin/python # First comment print("Hello, Python!") ...

  6. Uva_11916 Emoogle Grid

    题目链接 题意: 有个N X M的棋盘, 有K种颜色, 有B个不可涂色的位置, 共有R种涂色方案. 1)每个可涂色的位置必须涂上一种颜色 2)不可涂色位置不能涂色 3)每个位置必须从K种颜色中选出一种 ...

  7. A Diagram Designer

    源码:http://files.cnblogs.com/jumahe/DiagramDesigner.rar 环境:VS2010

  8. 把Blob 转化为字符串查询。

    在Oracle里面,有时候我们对于clob或者是blob作为varhcar2来查询. Clob可以直接使用 to char函数来转换. Blob就需要用 UTL_RAW.CAST_TO_VARCHAR ...

  9. 小游戏 Lights Out (关灯) 的求解 —— 异或方程组

    Author : Evensgn  Blog Link : http://www.cnblogs.com/JoeFan/ Article Link : http://www.cnblogs.com/J ...

  10. iOS内存管理系列之二:自动释放与便捷方法

    有时候一个所有者创建一个对象后,会立刻将该对象的指针传递给其它所有者.这时,这个创建者不希望再拥有这个对象,但如果立刻给它发送一个release消息会导致这个对象被立刻释放掉——这样其它所有者还没有来 ...