無效的索引鍵列類型:「其型別不能用作索引中的鍵列」
在關聯式資料庫管理系統中的上下文中,出現一條錯誤訊息,指示「表‘misc_info’中的列‘key’的類型無法用作鍵列在索引中」在嘗試在特定資料類型的列上建立唯一索引時出現。
問題上下文:
提供的錯誤訊息突出顯示嘗試在表「misc_info」中名為「key」的欄位上建立唯一索引失敗。該列的資料類型 nvarchar(max) 與用作索引鍵不相容,從而導致錯誤。
解:
唯一索引對他們可以儲存為鍵的值的大小。對於可保存可變長度字串的 nvarchar 資料類型,索引鍵允許的最大長度為 450 個字元。此限制是為了防止超過 SQL Server 施加的 8000 位元組行大小限制。
要解決此錯誤,請將「key」列的最大長度減少到 450 個字元。這可以透過以下修改表定義來實現:
ALTER TABLE misc_info ALTER COLUMN key nvarchar(450) UNIQUE NOT NULL;
或者,如果要求儲存長度超過 450 個字元的字串,請考慮使用 varchar 資料類型而不是 nvarchar。 Varchar 的最大長度限制為 8000 個字符,為儲存更長的鍵提供了更大的靈活性,同時仍然保持唯一索引約束。
ALTER TABLE misc_info ALTER COLUMN key varchar(8000) UNIQUE NOT NULL;
以上是為什麼無法在 SQL Server 中的 nvarchar(max) 欄位上建立唯一索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!