ALTER TABLE `table` AUTO_INCREMENT = 123; 无效?

2016-04-29 14:35:48 +08:00
 alex321

事情是这么样的。我有一个大约 43w 的数据,因为之前再设计的时候没有想到会有这么大的数量级。现在看到这么多数量了,需要重写分页逻辑,就需要增加个自增的主键,然而我怎么执行 ALTER TABLE table AUTO_INCREMENT = 123; 这句都是无效的。。 已经折腾快一小时了。求搭救。

情形描述如下: MyISAM , 5.1.50-community ,已有 428706 条记录。 前期执行了增加自增主键和重排语句如下:


ALTER TABLE `table`
ADD COLUMN `tableId`  bigint NULL AUTO_INCREMENT FIRST ,
DROP PRIMARY KEY,
ADD PRIMARY KEY (`Id1`, `Id2`, `tableId`);

SET @num = 0;
UPDATE `table` set `tableId` = @num := @num +1;

现在执行 ALTER TABLE table AUTO_INCREMENT = 428707; 然而怎么执行,之后插入的 tableId 都会从 1 开始,并且都会是 1。。

3330 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/275323

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX