主キーの変更に対処する最も簡単な方法は、はるかに、ALTER
です。 参照する外部キー制約はON UPDATE CASCADE
。
その後、主キーの値を自由に更新でき、変更は子テーブルにカスケードされます。すべてのランダムI/Oのため、非常に遅いプロセスになる可能性がありますが、機能します。
プロセス中に主キー列の一意性の制約に違反しないように注意する必要があります。
面倒ですが高速な方法は、新しいUNIQUE
を追加することです。 新しいPKの列を作成し、データを入力して、新しいPKを指すすべての参照テーブルに新しい列を追加し、古いFK制約と列を削除してから、最後に古いPKを削除します。