'tblEmployee' テーブル - インデックス 'PK_ tblEmployee _72C60C4A' を作成できません。
テーブル 'tblEmployee' の null 許容列に PRIMARY KEY 制約を定義できません。制約を作成できませんでした。以前のエラーを参照してください。
質問する
227 次
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 に答える