テーブルの主キー値を更新できますか?
主キーは不変である必要があります (または 可能な限り安定している はDBで不変を強制できないため)であることが一般的に同意されています。主キーの更新を妨げるものはありませんが(整合性制約を除く)、それは良い考えではありません。
パフォーマンスの観点から:
その他の考慮事項:
結論として、設計中、一般的に、変更しないはずの自然なプライマリキーの代わりに代理キーを使用する方が安全です。
子テーブルを使用して主キーを絶対に更新する必要がある場合は、 解決策についてTom Kyteによるこの投稿 を参照してください。
主キー属性は、テーブルの他の属性と同様に更新可能です。多くの場合、安定性はキーの望ましい特性ですが、絶対的な要件ではありません。キーを更新することがビジネスの観点から理にかなっている場合、そうすべきでない根本的な理由はありません。
限りすることができます
リレーショナルデータベース理論の観点からは、プライマリキー間に重複がなく、プライマリのいずれにもNULL値を入れない限り、テーブルのプライマリキーの更新にまったく問題はないはずです。キー列。
簡単な答え:はい、できます。もちろん、新しい値が既存の値と一致せず、他の制約が満たされていることを確認する必要があります(duh)。
正確に何をしようとしていますか?
特定の状況では可能です。
しかし、あなたがこれを考慮するという事実は、あなたのアーキテクチャに何か問題があるという強い兆候です。主キーは純粋に技術的なものであり、ビジネス上の意味はまったくありません。したがって、それらを変更する必要はないはずです。
トーマス