0

SQL Server Management Studio で次のスクリプトを実行しました。

create table Accounts_RolePermissions
(
    RoleID int not null,
    PermissionID int not null,
    Primary key(RoleID,PermissionID),
    Foreign key(RoleID) references Accounts_Roles(RoleID),
    Foreign key(PermissionID) references Accounts_Permissions(PermissionID)
)

ただし、テーブルのデザイン オプションをクリックすると、RoleID のみが主キーと見なされることが示されます。パーミッション ID も考慮されないのはなぜですか? 便宜上、スナップショットが添付されています ここに画像の説明を入力

4

1 に答える 1

0

デザイン ビューでは、主キー列のみがキーでマークされますforeign keys are not marked。テーブル内のすべてのキーを表示するには、オブジェクト エクスプローラーでテーブルを左クリックします。Key という名前のフォルダーが表示されます。このフォルダーを開くと、このテーブルのすべてのキーが表示されます。
あなたの場合、外部キーなしでクエリを実行すると、両方の列が主キーとして表示される場合、問題は外部キーが原因であると考えました。私はそれをテストしました

create table Accounts_RolePermissions
(
  RoleID int not null,
  PermissionID int not null,
  Primary key(RoleID,PermissionID),
--Foreign key(RoleID) references Accounts_Roles(RoleID),
--Foreign key(PermissionID) references Accounts_Permissions(PermissionID)
)
于 2012-08-14T18:18:05.767 に答える