ALTER TABLE [dbo].[CandidateDetail] WITH CHECK ADD CONSTRAINT [some_key_name] FOREIGN KEY([CandidateID]) REFERENCES [dbo].[SomeOtherTable] ([SomeColumn])
或者,如果您更喜欢查询:
SELECT c.name AS ColumnName,
OBJECT_NAME(fkc.constraint_object_id) AS ConstraintName,
OBJECT_NAME(fkc.referenced_object_id) AS RefTableName,
rc.name AS RefColumnName
FROM sys.foreign_key_columns fkc
INNER JOIN sys.columns c
ON c.object_id = fkc.parent_object_id
AND c.column_id = fkc.parent_column_id
INNER JOIN sys.columns rc
ON rc.object_id = fkc.referenced_object_id
AND rc.column_id = fkc.referenced_column_id
WHERE fkc.parent_object_id = OBJECT_ID('dbo.CandidateDetail')
如果您希望显示列名称,请重命名约束以将其包含在约束名称中。
创建其他约束的人选择包含约束名称中使用的列。
仅仅因为您没有看到它,并不意味着它不存在。我根据名字打赌这是关键
FK_CandidateDetail_Candidates
。您可以通过右键单击表 -> 将表脚本编写为 -> 创建到 -> 新建查询编辑器窗口(或剪贴板并将其粘贴到文本编辑器中,您可以选择)来确认这一点。你应该能够找到这样一行:
或者,如果您更喜欢查询: