0
我想創建一個表稱爲配置文件ID計算列,但是當我試試這個:SQL - 只有UNIQUE或PRIMARY KEY約束可以對計算列創建
CREATE TABLE Profiles
(
[id] [int] IDENTITY(1,1) NOT NULL,
[profileID] AS ((id * 19379 - 62327) % 99991) NOT NULL
)
然而,當我轉到創建,我得到這個錯誤:
Only UNIQUE or PRIMARY KEY constraints can be created on computed columns, while CHECK, FOREIGN KEY, and NOT NULL constraints require that computed columns be persisted.
我試圖在配置文件ID線調整到這個
[profileID] as ((id * 19379 - 62327) % 99991) NOT NULL UNIQUE
乙我仍然得到同樣的錯誤。
僅供參考我有另一列稱爲id和它的主鍵,是唯一的和auto_incremented。
錯誤消息是非常明確的 - 你只能使用計算列上的唯一或主鍵約束。除非持續存在,否則不能創建帶有「非空」約束的計算列。 但是,在你的情況下,這不應該是一個問題,因爲你的計算是基於硬編碼值和非空列,所以計算結果不能爲空。 –
您必須刪除「NOT NULL」或使計算列保持不變。這是錯誤消息基本上所說的。 –
我如何解決它@ZoharPeled – user979331