La risposta di @Adrian Cornish è corretta. Tuttavia, c'è un altro avvertimento nel rilasciare una chiave primaria esistente. Se quella chiave primaria viene utilizzata come chiave esterna da un'altra tabella, verrà visualizzato un errore quando si tenta di rilasciarla. In alcune versioni di mysql il messaggio di errore era errato (a partire dalla 5.5.17, questo messaggio di errore è ancora
alter table parent drop column id;
ERROR 1025 (HY000): Error on rename of
'./test/#sql-a04_b' to './test/parent' (errno: 150).
Se vuoi rilasciare una chiave primaria a cui fa riferimento un'altra tabella, dovrai prima rilasciare la chiave esterna in quell'altra tabella. È possibile ricreare quella chiave esterna se la si desidera ancora dopo aver ricreato la chiave primaria.
Inoltre, quando si utilizzano chiavi composite, l'ordine è importante. Questi
1) ALTER TABLE provider ADD PRIMARY KEY(person,place,thing);
and
2) ALTER TABLE provider ADD PRIMARY KEY(person,thing,place);
non sono la stessa cosa. Entrambi impongono l'univocità su quell'insieme di tre campi, tuttavia dal punto di vista dell'indicizzazione c'è una differenza. I campi sono indicizzati da sinistra a destra. Ad esempio, considerare le seguenti query:
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 può usare l'indice della chiave primaria nell'istruzione ALTER 1
A può usare l'indice della chiave primaria nell'istruzione ALTER 2
C può usare entrambi gli indici
D non può usare nessuno degli indici
A utilizza i primi due campi nell'indice 2 come indice parziale. A non può utilizzare l'indice 1 perché non conosce la parte intermedia dell'indice. Potrebbe comunque essere in grado di utilizzare un indice parziale sulla persona giusta.
D non può usare nessuno dei due indici perché non conosce la persona.
Vedi i documenti mysql qui per maggiori informazioni.