前些天在项目上遇到一个坑,根据业务要求在指定的表中个不为空的自增非主键字段,我直接向表中添加自增的非主键字段时会报错,错误信息如下:
翻译上面错误提示:表定义不正确;只能有一个自动列,必须将其定义为键 (不一定是主键)
所以我们可以这样做:
(1)先添加字段,设置字段类型等基本属性:
alter table 表名 add 新增字段 BIGINT(10) not Null ;
(2)为该字段添加任意key:
alter table 表名 ADD KEY test(新增字段); // test为任意的key名称
(3)将该字段修改为自增属性:
ALTER TABLE 表名 MODIFY 新增字段 BIGINT(20) auto_increment
设置完后去数据库检查相应字段,发现ok了。