mysql 表increment调小_mysql修改AUTO_INCREMENT的值

可以看到id字段此时的自增是从1000开始的,并且已经增长到了1002select * from k1;

+------+--------+

| id   | name   |

+------+--------+

| 1000 | xiaoke |

| 1001 | xiaoke |

| 1002 | xiaoke |

+------+--------+

查看一下此时建表语句show create table k1;

+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| Table | Create Table                                                                                                                                                                  |

+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| k1    | CREATE TABLE `k1` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(100) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=1003 DEFAULT CHARSET=utf8 |

这个时候,我们想把id设置为从1开始,使用以下语句:alter table k1 AUTO_INCREMENT=1;

Query OK, 0 rows affected (0.00 sec)

Records: 0  Duplicates: 0  Warnings: 0

重新插入一条语句insert into k1 (name) values ('xiaoke');

这时,我们重新查看一下k1表的内容,已经有了4条内容select * from k1;

+------+--------+

| id   | name   |

+------+--------+

| 1000 | xiaoke |

| 1001 | xiaoke |

| 1002 | xiaoke |

| 1003 | xiaoke |

+------+--------+

可以看到,k1表的id字段并没有从我们设置的1开始!!

我们再来一次,设置表的字段从10001开始,使用以下语句:alter table k1 AUTO_INCREMENT=;

我们重新查看一下k1表的内容select * from k1;

+-------+--------+

| id    | name   |

+-------+--------+

|  1000 | xiaoke |

|  1001 | xiaoke |

|  1002 | xiaoke |

|  1003 | xiaoke |

| 10001 | xiaoke |

可以看到,这次我们的设置已经生效了,那么经过验证说明,通过alter table TABLE_NAME AUTO_INCREMENT=n

设置表的自增的初始值,只能设置AUTO_INCREMENT=比id字段的最大值还要大,才可以成功,不可以设置AUTO_INCREMENT比当前的id值小!

在id字段已经有数据的情况下,如果我们想要AUTO_INCREMENT从1开始,我们可以删除id字段,然后重新添加一次id字段,可使用以下语句alter table k1 drop id;

alter table k1 add id int(11) not null primary key AUTO_INCREMENT first;

select * from k1;

+----+--------+

| id | name   |

+----+--------+

|  1 | xiaoke |

|  2 | xiaoke |

|  3 | xiaoke |

|  4 | xiaoke |

|  5 | xiaoke |

+----+--------+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值