我想创建一个在插入新行时自动递增的列。 表已经有数据并且该数据不需要接收该索引,或者可以为NULL。我只想从现在开始增加。
看起来很简单,但我在 Workbench 中运行的是这样的:
ALTER TABLE `serra`.`acionamento`
ADD COLUMN `indice` INT NULL AUTO_INCREMENT AFTER `date_insercao`
...上面写着
Incorrect table definition; there can be only one auto column and it must be defined as a key
该列真的需要为主键吗?
最佳答案
我找到了我正在寻找的解决方案...
我缺少一个独特的配置...
ALTER TABLE `serra`.`acionamento`
ADD COLUMN `indice` INT NOT NULL AUTO_INCREMENT AFTER `column`,
ADD UNIQUE INDEX `indice_UNIQUE` (`indice` ASC);
感谢您的评论
关于mysql - 如何在已存在且有数据的表中创建 AUTO_INCREMENT 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58592436/