Как удалить первичный ключ в MySQL

Вчера столкнулся с проблемой удаления первичного ключа с аттрибутом 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

Посты по теме:

  • Пока что ничего не написано
Рекламный блок
Новый подход к решению психологических проблем - Телесно-ориентированная психотерапия и танатотерапия. Уникальность метода состоит в том, что вся работа происходит через воздействие на тело человека - специалисту даже не обязательно рассказывать о своих проблемах.

One Comment

  1. Sergey

    прикольно, буду знать

Leave a Reply