はい、pt-online-schema-changeを使用して主キーを変更できます。 pt-online-schema-changeの仕組みは次のとおりです。
- origAの簡単なメタデータロックを取得する
- origAにトリガーを追加する
- origA、newAとまったく同じように新しいテーブルを作成します
- ALTERステートメントをnewAに適用します。
- 行をorigAからnewAにコピーします。
- 完了したら、origAの名前をoldAに変更し、newAの名前をorigAに変更します。
- oldAを削除
どちらのテーブルにも主キーがないことはありません。 UNIQUEキーを追加する必要はありません。実行する必要があるのは、セットの#2だけで、それで十分です。