Mysql:使用子查询将列更改为auto_increment以获取最大列ID

时间:2014-08-01 16:19:18

标签: mysql auto-increment

我刚刚开始研究mysql并有一个问题.. 所以我有一个像这样的列的表测试 为test_id test_description test_results

其中test_id是BIGINT UNSIGNED NOT NULL;

test_id列看起来像

1
2
3
123
321
1293
1299
1300
1301

我正在尝试修改test_id,重命名它,并根据列中的最大数字设置它自动增量。

我能做到这一点

ALTER TABLE tests CHANGE test_id result_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT=1302

所以这会起作用,但是,我想根据最大数量的test_id列将自动增量设置为变量。我试过这个

ALTER TABLE tests CHANGE test_id result_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT=(SELECT MAX(test_id) AS test_id FROM tests);

抱怨围绕AUTO_INCREMENT的语法错误。

知道是否有办法做到这一点?

非常感谢

编辑:JStephen的评论!我认为它现在正在运作。 TY人。

1 个答案:

答案 0 :(得分:1)

如果您没有指定自动增量编号,它将在确定下一个增量时将自动使用最高值。