| 您的当前位置:首页 --> MYSQL教程 --> mysql中自增auto_increment功能的相关设置及问题 |
| MYSQL教程 mysql中自增auto_increment功能的相关设置及问题 |
| 浏览次数:1271 关键词 ( ) |
| 查看使用该CPU的产品 查看CPU天梯 | ||||||
| CPU型号:mysql中自增auto_increment功能的相关设置及问题 | ||||||
| 主频:Ghz | ||||||
| 睿频:Ghz | ||||||
| 核心数:个 | ||||||
| 不支持超核心 | ||||||
| 制作工艺: | ||||||
| 插槽类型: | ||||||
| 功耗:0W | ||||||
| L3缓存:0MB | ||||||
| 支持最大内存: 0GB | ||||||
| CPU详细参数 | ||||||
|
mysql中的自增auto_increment功能相信每位phper都用过,也都知道如何设置字段为自增字段,但并不是所有phper都知道auto_increment的起始值和递增量是如何设置的!本文就为大家分享一下mysql字段自增功能的具体查看及设置方法。 复制代码 代码如下: show variables like '%xxx%'; <==> show session variables like '%xxx%'; //session会话变量 show global variables like '%xxx%'; //全局变量 例如查看与auto_increment相关的变量方法如下: 复制代码 代码如下: show variables like '%auto_increment%'; 一般情况结果为:
第一个变量名 auto_increment_increment 就是指 字段一次递增多少; 第二个变量名 auto_increment_offset 指 自增字段的起始值。 比如,有个表test,字段id为主键,自增; 如果auto_increment_offset=1 , 并且auto_increment_increment=1,那么向表中插入第一条数据时,则该条数据的id=1,第二条id=2,第三条id=3以此类推…… 如果auto_increment_offset=2 , 并且auto_increment_increment=10,那么向表中插入第一条数据时,则该条数据的id=2,第二条id=12,第三条id=22以此类推…… 注意:如果auto_increment_offset的值大于auto_increment_increment的值,则auto_increment_offset的值被忽略。 了解如何查看及其含义以后,剩下的就是如何修改这些变量的值了,修改也非常简单,语句格式如下: set auto_increment_increment=10 就这么简单就把变量auto_increment_increment的值设置成了10 ————————————————————————————————————— 补充一个看似简单但又不是很简单的问题: 问:如果有一张表,里面有个字段为id的自增主键,当已经向表里面插入了10条数据之后,删除了id为8,9,10的数据,再把mysql重启,之后再插入一条数据,那么这条数据的id值应该是多少,是8,还是11? 答:如果表的类型为MyISAM,那么是11。如果表的类型为InnoDB,则id为8。 这是因为两种类型的存储引擎所存储的最大ID记录的方式不同,MyISAM表将最大的ID记录到了数据文件里,重启mysql自增主键的最大ID值也不会丢失; 而InnoDB则是把最大的ID值记录到了内存中,所以重启mysql或者对表进行了OPTIMIZE操作后,最大ID值将会丢失。 |
| 下一个产品 SQL计算timestamp的差值的方法 上一个产品 MySql中having字句对组记录进行筛选使用说明 |