将主键列添加到no primay key旧表中

joj*_*ojo 15 mysql primary-key

如果一个表,数据可能是重复的行数,并且每行没有主键,

我可以添加一列作为主键吗?

Jas*_*ary 22

是.添加新列并将其设置为主键AUTO_INCREMENT.这样做会创建一个新列并自动为每一行添加唯一ID.

ALTER TABLE old_table ADD pk_column INT AUTO_INCREMENT PRIMARY KEY;
Run Code Online (Sandbox Code Playgroud)

  • 通常你希望主列是第一个:`ALTER TABLE old_table ADD pk_column INT AUTO_INCREMENT PRIMARY KEY FIRST;` (2认同)

DrC*_*sos 19

这可以使用ALTER TABLE(假设您有一个要用作PK的列)

ALTER TABLE table 
ADD PRIMARY KEY(column)
Run Code Online (Sandbox Code Playgroud)

Alternativly:

ALTER TABLE table 
ADD your_pk_column INT(11) AUTO_INCREMENT PRIMARY KEY
Run Code Online (Sandbox Code Playgroud)