[解決済み】SQL ServerでIdentityカラムを更新する方法は?
2022-02-19 01:52:02
質問
SQL Server データベースで、ID カラムを変更したいのですが、カラムの先頭が
大きな数字で
10010
現在、200件のレコードがあり、レコードが増える前にこの問題を解決したいです。
このカラムを変更またはリセットする最良の方法は何ですか?
解決方法は?
<ブロッククオートIDカラムの更新ができません。
SQL Server は、他のカラムに対して update ステートメントでできることとは異なり、ID カラムを更新することを許可しません。
しかし、同じような要件を達成するための代替手段がいくつかあります。
- 新しいレコードのためにIdentityカラムの値を更新する必要がある場合
使用方法 dbcc checkident これは、テーブルの現在の ID 値をチェックし、必要であれば ID 値を変更します。
DBCC CHECKIDENT('tableName', RESEED, NEW_RESEED_VALUE)
- 既存レコードのIdentityカラムの値を更新する必要がある場合
使用方法 IDENTITY_INSERT これは、テーブルの ID 列に明示的な値を挿入できるようにするものです。
SET IDENTITY_INSERT YourTable {ON|OFF}
例
-- Set Identity insert on so that value can be inserted into this column
SET IDENTITY_INSERT YourTable ON
GO
-- Insert the record which you want to update with new value in the identity column
INSERT INTO YourTable(IdentityCol, otherCol) VALUES(13,'myValue')
GO
-- Delete the old row of which you have inserted a copy (above) (make sure about FK's)
DELETE FROM YourTable WHERE ID=3
GO
--Now set the idenetity_insert OFF to back to the previous track
SET IDENTITY_INSERT YourTable OFF
関連
-
[解決済み] エラー: 名前解析スクリプトで正しい関数に渡された長さのパラメーターが無効です。
-
[解決済み] どのように私は、SQL Serverの上位100レコードを更新することができます。
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] SQL Server - 挿入された行のIDを取得するための最良の方法は?
-
[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。
-
[解決済み] 既存のカラムにIDを追加する
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ERROR: 参照されたテーブル "bar" の与えられたキーに一致するユニークな制約がありません。
-
[解決済み] varchar データ型から datetime データ型に変換すると、SQL クエリで範囲外の値が発生する
-
[解決済み】Athena: スケールファクターでリソースを使い果たすクエリ
-
[解決済み】ORA-01791: SELECTされた式ではない
-
[解決済み] INSERT ステートメントが FOREIGN KEY 制約と競合する - SQL Server
-
[解決済み] ORA-00920: 無効な関係演算子
-
[解決済み] ORA-01821: ISO 8601 のローカルタイム付き日付のフォーマットが認識されないエラー
-
[解決済み] Oracle Trigger ORA-04098: トリガーが無効で、再バリデーションに失敗しました。
-
[解決済み] T-SQLを使用して外部キー制約を一時的に無効にするにはどうすればよいですか?
-
[解決済み] テーブルのカラムからIdentityを削除する