cyberwalker

mysql 更改自动增长字段值的重新设定

今天在服务器上MYSQL库里的一个表插入数据,主键id是auto_increment自动增长类型的。
发现插入的值从2247734开始,而实际上id的最大值才22722,不明原因。

删除了新增的,optimize表一下,重新插入,还是不行,从2247735开始。

无奈只好去找解决办法,看到一条语句,可以查询这个表的auto_increment值:
SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name = \'hx_9enjoy\';
查了一下,显示2247735。

怎么更新它呢?于是我幼稚的想UPDATE它一下,

UPDATE information_schema.tables SET AUTO_INCREMENT = \'22723\' WHERE table_name = \'hx_9enjoy\';

结果提示:ERROR 1044 (42000): Access denied for user \'root\'@\'localhost\' to database \'infor
mation_schema\'
用root也不行:(

继续想办法,终于查到:

ALTER TABLE `hx_9enjoy` auto_increment=\'22723\' ;

执行成功,继续插入就从22723开始了:)



ITOKIT.COM提示:如果表中数据没有用。如果直接删除数据,自动增长ID还是不会从1开始的,可以利用“清空数据表”。这样自动增长ID也将会从1开始。

分类:

技术点:

相关文章: