Да, можете да промените PRIMARY KEY с помощта на pt-online-schema-change. Ето как работи pt-online-schema-change:
- Получете кратко заключване на метаданни на origA
- Добавяне на тригери към origA
- Създайте нова таблица точно като origA, newA
- Приложете оператора ALTER към newA.
- Копирайте редовете от origA в newA.
- Когато сте готови, преименувайте origA на oldA, преименувайте newA на origA.
- Премахнете oldA
В нито един момент от която и да е таблица не липсва ПЪРВИЧЕН КЛЮЧ. Няма нужда да добавяте УНИКАЛЕН ключ. Всичко, което трябва да изпълните, е номер 2 във вашия набор и това ще го направи.