Ja, Sie können einen PRIMARY KEY mit pt-online-schema-change ändern. So funktioniert pt-online-schema-change:
- Eine kurze Metadatensperre auf origA erwerben
- Trigger auf origA hinzufügen
- Neue Tabelle genau wie origA, newA erstellen
- Wenden Sie die ALTER-Anweisung auf newA an.
- Kopieren Sie die Zeilen von origA nach newA.
- Wenn Sie fertig sind, benennen Sie origA in oldA um, benennen Sie newA in origA um.
- Altes A löschen
Zu keinem Zeitpunkt fehlt in einer der Tabellen ein PRIMARY KEY. Es ist nicht erforderlich, einen UNIQUE-Schlüssel hinzuzufügen. Alles, was Sie ausführen müssen, ist Nr. 2 in Ihrem Satz, und das reicht aus.