我有这张桌子:
CREATE TABLE [dbo].[Question] (
[QuestionId] INT IDENTITY (1, 1) NOT NULL,
[Text] NVARCHAR (4000) NULL,
[QuestionUId] UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL,
);
我想创建一个外键,将我的另一个表QuestionUId
中的AdminTestQuestion
链接回QuestionUId
表中的Question
。
参考表' [dbo]。[问题]'不包含与外键中的引用列列表匹配的主键或候选键。如果引用的列是计算列,则应该保留它。
非常感谢任何建议。
答案 0 :(得分:2)
首先:这是 NOT 计算列 - 它只是一个带有默认约束的常规列...
对于要用于外键引用的表中的列,它必须是该表的主键,或者必须具有唯一索引上面。
所以在这里,您需要做的就是在列上添加唯一索引
CREATE UNIQUE INDEX UIX_QuestionUid ON dbo.Question(QuestionUid)
然后你应该能够将它作为外键引用。