1
我有這個表:如何獲得指向計算列的外鍵?
CREATE TABLE [dbo].[Question] (
[QuestionId] INT IDENTITY (1, 1) NOT NULL,
[Text] NVARCHAR (4000) NULL,
[QuestionUId] UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL,
);
我想創建一個外鍵在我的其他表AdminTestQuestion
在Question
錶鏈接QuestionUId
回到QuestionUId
。
引用表'[dbo]。[問題]'不包含與外鍵中的引用列表匹配的主鍵或候選鍵。如果被引用的列是一個計算列,它應該被保留。
任何意見將不勝感激。
由於錯誤提示你需要添加主鍵約束在父表 CREATE TABLE [DBO]。[問題]( [QuestionId] INT IDENTITY(1,1)NOT NULL PRIMARY KEY, [文字] NVARCHAR(4000)NULL, [QuestionUId] UNIQUEIDENTIFIER DEFAULT(newid())NOT NULL, ); – Rishabh 2014-09-23 10:31:06
因爲這實際上是** NOT **一個計算列(只是一個默認的列),所以你需要做的就是使它成爲表的主鍵,或者至少你需要一個唯一的索引('創建唯一索引UIX_QuestionUid ON dbo.Question(QuestionUid)') – 2014-09-23 10:34:47
@marc_s:簡短的註釋*不是關於問題*。 [你的個人資料](http://stackoverflow.com/users/13302/marc-s)在文章「Jon Skeet關於如何寫出一個好問題的有用提示(或至少他的簡短版本)」中包含兩個鏈接,壞了。固定鏈接似乎[this](http://blogs.msmvps.com/jonskeet/2010/08/29/writing-the-perfect-question/)和[this](http://blogs.msmvps.com/ jonskeet /十一分之二千零十二/ 24 /堆棧溢出問題-清單/)。 – Oleg 2014-09-23 10:45:09