1. ホーム
  2. sql-server

[解決済み] IDカラムの値をプログラムで変更するには?

2022-04-25 03:58:56

質問

MS SQL 2005 データベースに、テーブル Test とカラム ID . ID はIDカラムである。

このテーブルには行があり、すべての行に対応するIDが自動インクリメントされた値を持っています。

さて、このテーブルのすべてのIDをこのように変更したいと思います。

ID = ID + 1

しかし、これを実行すると、エラーが発生します。

ID 列 'ID' を更新できません。

これを試してみました。

    ALTER TABLE Test NOCHECK CONSTRAINT ALL 
    set identity_insert ID ON

しかし、これでは問題が解決しません。

このカラムにIDを設定する必要がありますが、時々、値も変更する必要があります。そこで質問なのですが、このタスクをどのように達成するのでしょうか?

どのように解決するのですか?

必要なのは

set identity_insert YourTable ON

その後、行を削除し、別のIDで再挿入してください。

挿入が完了したら、identity_insert をオフにするのを忘れないようにしましょう。

set identity_insert YourTable OFF