如何更改mysql中auto

2025-04-29 07:00:38
推荐回答(1个)
回答1:

查看db.table表的下一条记录auto_increment的值:

1

show table status from db like 'table';

例如:

1
2
3
4
5
6
7
8
9
10
11
12

mysql> show table status from mailbox like 'mailbox';
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-
--------------------+---------------------+-------------------+----------+----------------+---------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free |Auto_increment| Create_time |
Update_time | Check_time | Collation | Checksum | Create_options | Comment |
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-
--------------------+---------------------+-------------------+----------+----------------+---------+
| mailbox | MyISAM | 10 | Dynamic | 1681 | 148 | 249688 | 281474976710655 | 104448 | 0 | 15355| 2012-03-13 11:19:10 |
2012-03-13 11:19:10 | 2012-03-13 11:19:10 | latin1_swedish_ci | NULL | | |
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-
--------------------+---------------------+-------------------+----------+----------------+---------+
1 row in set (0.00 sec)

Auto_increment:15355
这个就是下一条记录会使用的自增ID;
修改db.table表下一条记录使用的自增ID值为20000:

1

alter table db.table auto_increment=20000;

例如:

1
2

mysql> alter table mailbox.mailbox auto_increment=20000;
Query OK, 1681 rows affected (0.05 sec)

这时再进行:

1

show table status from mailbox like 'mailbox';

auto_increment已经变成20000;
新插入的记录,自增字段就会从20000开始;