-2

'tblEmployee' テーブル - インデックス 'PK_ tblEmployee _72C60C4A' を作成できません。
テーブル 'tblEmployee' の null 許容列に PRIMARY KEY 制約を定義できません。制約を作成できませんでした。以前のエラーを参照してください。

4

2 に答える 2

0

このエラーは、許可されていない主キーの一部として、null を許可する ("Allow Nulls" がチェックされている) 列を追加しようとしていることを明確に示しています。

null を許可しないように列の定義を変更する必要があります...ただし、列の値のいずれかが既に NULL である場合は、最初にテーブルを更新して値を提供する必要があります。 Nulls」を選択し、この列を主キーの一部として追加します。

たとえば、既存のキー列が EmployeeID であり、そのキーの一部として DepartmentID を追加したいが、その値が null であり、何らかの理由でテーブル内のデータを削除できないとします (個人的にはこれを行うことをお勧めしますが)。 、テーブルにデータがない場合は、キーなどを変更する方が簡単です!)

  • UPDATE Employees set DepartmentID=row_number() over (EmployeeID ASC 順) -- たとえば
  • 次に、テーブル デザイナーで [Allow Nulls] のチェックを外し、保存します (テーブルを保存するにはテーブルを再作成する必要があるために保存できない場合は、[ツール] -> [オプション] -> [デザイナー] に移動し、[変更を保存できないようにする] のチェックを外します。 requite table re-creation」ボックス。
  • 最後に、列を PK に追加してテーブルを保存したら、戻って DepartmentIDの実際の値をテーブルに入れる必要があります。

明らかに、列を更新するために選択した値は、他の PK 列と組み合わせたときに一意のキーを生成する必要があります...

于 2013-09-08T23:01:57.173 に答える