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
为什么会这样??求解??
无论一开始插入的是几条记录,第一二次都是正常的,第三次开始就出现问题了。。。 展开
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
为什么会这样??求解??
无论一开始插入的是几条记录,第一二次都是正常的,第三次开始就出现问题了。。。 展开
1个回答
展开全部
我在我的系统上执行没有遇到你这样的问题,我执行的过程如下:
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版本号是多少?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询