ホームページ >データベース >mysql チュートリアル >ID 列に値を挿入できない理由とその修正方法は?
SQL Server での ID 列挿入のトラブルシューティング
SQL Server の ID 列に値を挿入するときに問題が発生しましたか? このガイドでは、一般的なエラーについて説明し、簡単な解決策を提供します。
問題:
ID 列に指定された値を持つ行を挿入しようとすると、多くの場合次のエラーが発生します:
サーバー: メッセージ 544、レベル 16、状態 1、行 1
IDENTITY_INSERT が OFF に設定されている場合、テーブル 'table' の ID 列に明示的な値を挿入できません。
エラーの理解:
ID 列は、一意の連続値を自動的に生成します。 このエラーは、IDENTITY_INSERT
がデフォルトで OFF
に設定されているために発生します。この設定により、ID 列への値の直接割り当てが防止され、データベースによるシーケンスの制御が維持されます。
解決策:
ID 列に特定の値を挿入するには、このデフォルトの動作を一時的にオーバーライドする必要があります。 次の手順に従ってください:
IDENTITY_INSERT
: このコマンドを使用して、明示的な値の挿入を一時的に許可します:IDENTITY_INSERT テーブル 1 を ON に設定
INSERT
INSERT INTO Table1 (OperationID、OpDescription、FilterID)VALUES (20, '階層の更新', 1)
IDENTITY_INSERT
挿入後、すぐに を無効にしてデフォルトの動作に戻します:IDENTITY_INSERT
IDENTITY_INSERT テーブル 1 をオフに設定しますこのプロセスにより、データの整合性を維持しながら、特定の状況下で ID 列の値を管理できます。 挿入が完了したら、必ず
を無効にしてください。IDENTITY_INSERT
以上がID 列に値を挿入できない理由とその修正方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。