Estoy trabajando en una demo/tutorial sobre desarrollo evolutivo de bases de datos y sus herramientas.

Ya que ayer instalamos un mysql en un cliente para operaciones de software configuration management, se me ocurrió utilizar mysql para el tutorial/demo en cuestión.

Me encontré con algo curioso al intentar agregar una columna auto-incremental a una tabla existente.

Dada esta tabla:

create table program (required_solo_hs int not null,
required_inst_hs int not null,
required_hs int not null

Intenté agregar una columna id:

alter table program add column id int not null auto_increment

Obteniendo el siguiente error;

Script line: 1    Incorrect table definition;there can be only one auto column and it must be defined as a key

La solución es simplemente indicar que dicha columna además de auto increment es primary key:

alter table program add column id int not null auto_increment key;

Una vez más.. posiblemente a alguien le resulte útil.