我似乎无法找出一个MYSQL命令或一组命令,它们允许我创建一个'id'字段,添加auto_increment值,然后将其设置为主键。
我想这样做的原因是我有一个包含数百万行的现有表,我想为每一行分配一个唯一的ID,它将成为主键并使其具有auto_increment。
有没有办法用SQL语法执行此操作,还是需要编写脚本?
答案 0 :(得分:3)
只是想出来以防万一其他人在将来需要这个:
alter table test add column id int(9) unsigned auto_increment PRIMARY KEY;
答案 1 :(得分:3)
这应该相对简单:
ALTER TABLE `myTable` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
答案 2 :(得分:1)
可能你可以像这样创建一个新表:
CREATE TABLE new_table (id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id), KEY(b))
ENGINE=InnoDB SELECT b,c FROM original;