我有這樣一個表:SQL Server中uniqueidentifier的用法是什麼?
Table1 (Table_ID Int Primary Key, Name Varchar(50), ROWID Uniqueidentifier)
和ROWID
列的默認值是使用NEWID()
功能設置。
我知道NEWID()
函數會爲每一行生成一個唯一的標識符。
我想知道爲什麼我們需要每行的唯一標識符?如果我們想要每一行的唯一性,我可以使用我的主鍵來實現這一點。我是SQL新手。請指教。
謝謝。
比方說,您爲不同的客戶端提供了一堆不同的相同數據庫,然後是一箇中央數據庫,其中包含來自所有客戶端的一些信息。如果您需要中央數據庫中表格的唯一性,您可以使用UniqueIdentifier實現此功能(大部分)。 –
你將不得不問這個數據庫模式的原始設計者關於他的原因。像複製SQL Server的一些功能需要一個GUID列的功能 - 也許這是原因之一。但是我同意你的看法 - 如果你已經有了主鍵,那麼另一個獨特的'ROWID'實際上並不是必須的 –