Вчера столкнулся с проблемой удаления первичного ключа с аттрибутом AUTO_INCREMENT – при выполнении запроса вида
ALTER TABLE table_name DROP PRIMARY KEY;
вылетает ошибка вида ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key. Происходит это потому, что аттрибут AUTO_INCREMENT может быть только у ключевого поля, а вышеприведенной коммандой мы пытались удалить ключ. Поэтому, для начала нужно снять этот аттрибут с индексного поля путем несложной комманды:
ALTER TABLE table_name CHANGE key_field_name key_field_name INTEGER NOT NULL;
а потом уже после этого спокойно удалять первичный ключ
ALTER TABLE table_name DROP PRIMARY KEY