Mysql 我必须再次将属性设置为主键吗?

Mysql 我必须再次将属性设置为主键吗?,mysql,sql,database,Mysql,Sql,Database,我有一个表,其中有一个ID属性,该属性是主键,如果我想使用modify column命令将ID设置为auto_increment,是否必须再次将ID atribbute设置为主键 我应该使用这个代码吗 alter table testing modify column ID int primary key auto_increment; 还是这个 alter table testing modify column ID int auto_increment; 缩写形式是OK:将列修改

我有一个表,其中有一个ID属性,该属性是主键,如果我想使用modify column命令将ID设置为auto_increment,是否必须再次将ID atribbute设置为主键

我应该使用这个代码吗

  alter table testing modify column ID int primary key auto_increment; 
还是这个

 alter table testing modify column ID int auto_increment;

缩写形式是OK:将列修改为
auto_increment
不会删除主键约束

(在MySQL 5.5、5.6、5.7和8.0中测试):

错误:ER_DUP_条目:键“PRIMARY”的重复条目“1”


使用长格式不会有什么坏处,关键是我想知道,在使用第二个示例@theImpler之后,列仍然是主键
create table testing (ID int primary key);
alter table testing modify column ID int auto_increment;
insert into testing values(1);
insert into testing values(1);