【解決方法】 PRIMARY KEY 制約「PK_Teacher」の違反を解決する方法。 NIOS 登録サイトのオブジェクト「dbo.Teacher」に重複キーを挿入できませんか?

プログラミングQA


[SqlException (0x80131904): Violation of PRIMARY KEY constraint ‘PK_Teacher’. Cannot insert duplicate key in object ‘dbo.Teacher’.
The statement has been terminated.]

C:\NIOS_DElEd_Bridge\DBAccess\DB.cs:106 の DBAccess.DB.ExecuteSQL(String SQL)
C:\NIOS_DElEd_Bridge\NIOS_DElEd_Bridge\Teacher\RegForm.aspx.cs:601 の NIOS.DElEd.Teacher.RegForm.Submit_Clicked(オブジェクト送信者、EventArgs e)
System.Web.UI.WebControls.Button.RaisePostBackEvent(文字列イベント引数) +155
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3804

私が試したこと:

まだ何も試していません。 ここで緊急事態です。

解決策 1

コメントで述べたように、エラーは問題が何であるかを正確に示しています。 すでに存在する Teacher テーブルの主キー フィールドに値を挿入しようとしています。

解決策 2

エラーが示すように、テーブルにすでに存在するキー値を使用してレコードをテーブルに挿入しようとしています。

最初に行うことは、主キーの定義を確認することです。 SSMS を開き、データベース内のテーブルに移動します。 キー ノードを展開すると、PK_Teacher が表示されます。 右クリックして「変更」を選択します。 これにより、キーの定義が表示されるデザイン ウィンドウが表示されます。

次に、キーが期待どおりであるかどうかを確認します。 名前などの自然キーの場合は、データを挿入するときに他の情報を指定するか、目的の列が含まれるようにキーを変更する必要があります。 キーが ID 列の場合、誰かがカウンターを再シードしない限り、重複は発生しません。 このような場合、カウンターを最後の既存の値に再シードすると、問題が解決されるはずです。

しかし、正直に言うと、テーブル定義を確認することは非常に役立つため、より詳細な情報が必要な場合は、テーブルのスクリプトを含むように質問を更新してください。

解決策 7

ファイル、編集、表示などの下のアイコンバー領域で正しいテーブルを選択することで、同じ問題を解決しました。 メニューバー!

コメント

タイトルとURLをコピーしました