簡體   English   中英

表的多個主鍵

[英]Multiple Primary Keys For Table

嗨,我相對較新的SQL,我使用的是Microsoft SQL Server

我希望制作一個將兩個表(A和B)鏈接在一起的數據透視表。 然而,鏈接旨在是動態的。 這意味着將經常創建和刪除從A到B的鏈接。

A和B之間的關系是一對多(一個A可以有很多B)

我想使用集群主鍵,但似乎無法創建一個,因為A鏈接的類型是varchar(max),而B的鏈接是int。

在Microsoft SQL Server Management Studio中,我通常會在設計窗口中選擇這兩列,並使它們成為主鍵。 但是該選項顯示為灰色。

有沒有辦法讓不同類型的許多不同列成為集群主鍵,或者我是以錯誤的方式處理這個問題?

不,不可能。 PRIMARY意味着第一,主要 - 只能有一個。

您可以擁有無​​限數量(實際上)的唯一indix,但只有一個可以是主鍵,只有一個(不一定是同一個)可以是聚簇索引。

現在,在外鍵關系中使用varchar(max) - 這是你應該修復的核心問題。 SOmeone真的f * * *數據庫設計史詩。 我們可以討論在密鑰中一般使用varchar,但varchar(max)用於休眠文本存儲,不能是任何索引的一部分(在關系中不能使用的全文索引之外)。 我建議先修復它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM