109*_*793 56 sql sql-server foreign-keys foreign-key-relationship
我需要对SQL Server 2008数据库进行一些更改.
这需要创建一个新表,并在新表中插入一个引用已存在表的主键的外键.所以我想在我的新tblTwo之间建立一个关系,它引用了tblOne的主键.
但是,当我尝试这样做(通过SQL Server Management Studio)时,我收到以下错误:
表'tblOne'中的列与现有主键或UNIQUE约束不匹配
我不确定这意味着什么,我想知道它是否有任何解决方法?
Dam*_*ver 81
这意味着tblOne中的主键尚未正确声明 - 您需要转到tblOne并将PRIMARY KEY约束添加回它.
如果你确定tblOne确实有一个PRIMARY KEY约束,那么你的数据库中可能有多个tblOne表,属于不同的模式,你的FK约束中的references子句选错了.
如果有一个复合键(您的注释将指示),那么您还必须在外键引用中包含这两列.请注意,表不能有多个主键 - 但如果它有一个复合键,您将在每个列旁边看到一个键符号作为主键的一部分.
ala*_*anh 55
如果您有复合键,则在创建FK时顺序很重要,有时订单不是如何显示的.
我所做的是转到table1的Keys部分,选择脚本主键作为创建到剪贴板,然后使用脚本中显示的顺序创建FK
我曾经遇到过这样的情况,这让我想到了这个话题。同样的错误,但另一个原因。也许它会对某人有所帮助。
Table1
ColA (PK)
ColB (PK)
ColC
Table2
ID (PK)
ColA
COLB
Run Code Online (Sandbox Code Playgroud)
当尝试在 Table2 中创建外键时,我以相反的顺序从组合框中选择值
Table1.ColB = Table2.ColB
Table1.ColA = Table2.ColA
Run Code Online (Sandbox Code Playgroud)
这给我带来了一个错误,比如主题名称。创建 FK 保持主键表中列的顺序不变,使错误消失。
愚蠢,但是..:)
| 归档时间: |
|
| 查看次数: |
70516 次 |
| 最近记录: |