A resposta de @Adrian Cornish está correta. No entanto, há outra ressalva em descartar uma chave primária existente. Se essa chave primária estiver sendo usada como chave estrangeira por outra tabela, você receberá um erro ao tentar descartá-la. Em algumas versões do mysql, a mensagem de erro estava incorreta (a partir de 5.5.17, essa mensagem de erro ainda é
alter table parent drop column id;
ERROR 1025 (HY000): Error on rename of
'./test/#sql-a04_b' to './test/parent' (errno: 150).
Se você deseja soltar uma chave primária que está sendo referenciada por outra tabela, precisará soltar a chave estrangeira nessa outra tabela primeiro. Você pode recriar essa chave estrangeira se ainda desejar depois de recriar a chave primária.
Além disso, ao usar chaves compostas, a ordem é importante. Estes
1) ALTER TABLE provider ADD PRIMARY KEY(person,place,thing);
and
2) ALTER TABLE provider ADD PRIMARY KEY(person,thing,place);
não são a mesma coisa. Ambos reforçam a exclusividade nesse conjunto de três campos, no entanto, do ponto de vista da indexação, há uma diferença. Os campos são indexados da esquerda para a direita. Por exemplo, considere as seguintes consultas:
A) SELECT person, place, thing FROM provider WHERE person = 'foo' AND thing = 'bar';
B) SELECT person, place, thing FROM provider WHERE person = 'foo' AND place = 'baz';
C) SELECT person, place, thing FROM provider WHERE person = 'foo' AND place = 'baz' AND thing = 'bar';
D) SELECT person, place, thing FROM provider WHERE place = 'baz' AND thing = 'bar';
B pode usar o índice de chave primária na instrução ALTER 1
A pode usar o índice de chave primária na instrução ALTER 2
C pode usar o índice
D não pode usar o índice
A usa os dois primeiros campos no índice 2 como um índice parcial. A não pode usar o índice 1 porque não conhece a parte intermediária do índice. Ainda pode ser capaz de usar um índice parcial em apenas uma pessoa.
D não pode usar nenhum dos índices porque não conhece pessoas.
Veja os documentos do mysql aqui para mais informações.