0

1 週間ほど前に、一部のデータが db テーブルにインポートされました。簡単なテーブル:

Id INT PK NOT NULL IDENTITY Name VARCHAR(20)

さて、今日、最初の ID が 0 から始まることに気付きました。子供に尋ねると、彼はテスト中に ID を再シードしていました。したがって、最初のエントリはゼロでした。事故でした。

値を更新する最善の方法がわかりません。すべてを1つの数字に押し上げるにはどうすればよいですか? 私を悩ませているのは、いくつかの FK 依存関係もあるということです。Cascade Update がある場合、依存関係を修正する必要がありますか?

また、各番号を上から下に更新する必要があります(ただし、そうしますか??)。数が多い順に+1。それから下ります。

4

1 に答える 1

4

まず、なぜストレスを感じるのですか?少し変わっている場合、ID=0 は完全に有効です。(ゼロではない NULLことに注意してください)

本当に0を取り除きたい場合:

  • ダミーレコードを追加し、
  • IDであることに注意してください。
  • レコード 0 を指す外部キーがある場合は、それらをダミー レコードに更新します。
  • そのレコードを削除します。(内部 ID カウンターを進めるため)。
  • ID 0 をその値に変更するだけです。
于 2009-05-31T15:00:14.627 に答える