Cuando tenemos una llave primaria la cual está relacionada a otras tablas y deseamos ponerla como autoincrement (ya sea porque se nos pasó en el diseño o por x circunstancia), debemos poner el valor 0 a la variable de mysql FOREIGN_KEY_CHECKS y para ello lo podemos hacer de la siguiente manera:
SET FOREIGN_KEY_CHECKS = 0;
Y para volverla a activar:
SET FOREIGN_KEY_CHECKS = 1;
Y así nos quedaría nuestra instrucción completa, incluyendo la consulta que hace la llave primaria que se autoincremente:
SET FOREIGN_KEY_CHECKS = 0; ALTER TABLE `nombreTabla` MODIFY COLUMN `idTabla` int(11) NOT NULL AUTO_INCREMENT; SET FOREIGN_KEY_CHECKS = 1;