@Adrian Cornish jawabannya benar. Namun, ada peringatan lain untuk menjatuhkan kunci primer yang ada. Jika kunci utama itu digunakan sebagai kunci asing oleh tabel lain, Anda akan mendapatkan kesalahan saat mencoba menjatuhkannya. Di beberapa versi mysql pesan kesalahan ada yang salah (per 5.5.17, pesan kesalahan ini masih
alter table parent drop column id;
ERROR 1025 (HY000): Error on rename of
'./test/#sql-a04_b' to './test/parent' (errno: 150).
Jika Anda ingin menjatuhkan kunci utama yang direferensikan oleh tabel lain, Anda harus menjatuhkan kunci asing di tabel lain terlebih dahulu. Anda dapat membuat ulang kunci asing itu jika Anda masih menginginkannya setelah Anda membuat ulang kunci utama.
Juga, ketika menggunakan kunci komposit, urutan penting. Ini
1) ALTER TABLE provider ADD PRIMARY KEY(person,place,thing);
and
2) ALTER TABLE provider ADD PRIMARY KEY(person,thing,place);
bukan hal yang sama. Mereka berdua menegakkan keunikan pada set tiga bidang, namun dari sudut pandang pengindeksan ada perbedaan. Kolom diindeks dari kiri ke kanan. Misalnya, pertimbangkan pertanyaan berikut:
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 dapat menggunakan indeks kunci utama dalam pernyataan ALTER 1
A dapat menggunakan indeks kunci utama dalam pernyataan ALTER 2
C dapat menggunakan indeks
D tidak dapat menggunakan indeks baik
A menggunakan dua bidang pertama dalam indeks 2 sebagai indeks parsial. A tidak dapat menggunakan indeks 1 karena tidak tahu bagian tempat menengah dari indeks. Mungkin masih bisa menggunakan indeks parsial pada orang biasa saja.
D tidak dapat menggunakan indeks mana pun karena tidak mengenal orang.
Lihat dokumen mysql di sini untuk informasi lebih lanjut.