mysql自动增长问题??大侠请进!!!

createtabletest1(idintprimarykeyauto_increment,namevarchar(10));然后插入3条数据:insertintote... create table test1 (
id int primary key auto_increment,
name varchar(10)
);
然后插入3条数据:
insert into test1 (name) values ('a');insert into test1 (name) values ('b');insert into test1 (name) values ('c');
然后使用蠕虫复制自动增长第一次、第二次没有问题:
insert into test1 (name) select name from test1;

从第三次开始跳过13:

执行的结果是24条没错,就是id是1-25,没有了id为13
第四次跳过了26、27、28:

执行的结果48条没错,id号1-52,少了id为13、26、27、28
第五次id号间隔7,从60开始依次增加,第六次间隔15...
每次少掉的id号=上一次少*2+1
为什么会这样??求解??
无论一开始插入的是几条记录,第一二次都是正常的,第三次开始就出现问题了。。。
展开
 我来答
阳光上的桥
推荐于2016-11-29 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部

我在我的系统上执行没有遇到你这样的问题,我执行的过程如下:

 

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\15000072>e:
E:\>\mysql5.0.51a\bin\mysql.exe -u root -p
Enter password: ********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 26
Server version: 5.0.51a-community-log MySQL Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use test
Database changed
mysql> create table test1 (
    ->
    -> id int primary key auto_increment,
    ->
    -> name varchar(10)
    ->
    -> );
Query OK, 0 rows affected (0.06 sec)
mysql> insert into test1 (name) values ('a');
Query OK, 1 row affected (0.00 sec)
mysql> insert into test1 (name) values ('b');
Query OK, 1 row affected (0.00 sec)
mysql> insert into test1 (name) values ('c');
Query OK, 1 row affected (0.00 sec)
mysql> select * from test1;
+----+------+
| id | name |
+----+------+
|  1 | a    |
|  2 | b    |
|  3 | c    |
+----+------+
3 rows in set (0.00 sec)
mysql> insert into test1 (name) select name from test1;
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0
mysql> select * from test1;
+----+------+
| id | name |
+----+------+
|  1 | a    |
|  2 | b    |
|  3 | c    |
|  4 | a    |
|  5 | b    |
|  6 | c    |
+----+------+
6 rows in set (0.00 sec)
mysql> insert into test1 (name) select name from test1;
Query OK, 6 rows affected (0.00 sec)
Records: 6  Duplicates: 0  Warnings: 0
mysql> select * from test1;
+----+------+
| id | name |
+----+------+
|  1 | a    |
|  2 | b    |
|  3 | c    |
|  4 | a    |
|  5 | b    |
|  6 | c    |
|  7 | a    |
|  8 | b    |
|  9 | c    |
| 10 | a    |
| 11 | b    |
| 12 | c    |
+----+------+
12 rows in set (0.00 sec)
mysql> insert into test1 (name) select name from test1;
Query OK, 12 rows affected (0.00 sec)
Records: 12  Duplicates: 0  Warnings: 0
mysql> select * from test1;
+----+------+
| id | name |
+----+------+
|  1 | a    |
|  2 | b    |
|  3 | c    |
|  4 | a    |
|  5 | b    |
|  6 | c    |
|  7 | a    |
|  8 | b    |
|  9 | c    |
| 10 | a    |
| 11 | b    |
| 12 | c    |
| 13 | a    |
| 14 | b    |
| 15 | c    |
| 16 | a    |
| 17 | b    |
| 18 | c    |
| 19 | a    |
| 20 | b    |
| 21 | c    |
| 22 | a    |
| 23 | b    |
| 24 | c    |
+----+------+
24 rows in set (0.00 sec)
mysql>

你的系统为什么出现这样的原因我确实说不上来,你现在又新建立一个表试试看,还会这样吗,太神奇了。

 

不过这样也没什么后果吧,一般我们不会依赖id的具体值。

更多追问追答
追问
测试很多次了,也不知道什么原因造成的。。
追答
你一直使用:a、b、c、d……连续插入15个看看是否会跳过13。
你的MYSQL版本号是多少?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式