Sql 表的两个主键和主键
我想为一个表设置两个主键,其中一个应该是SQLserver中的外键。您最可能寻找的是复合主键,其中两个或多个键组合在一起构成主键Sql 表的两个主键和主键,sql,Sql,我想为一个表设置两个主键,其中一个应该是SQLserver中的外键。您最可能寻找的是复合主键,其中两个或多个键组合在一起构成主键 CREATE TABLE myTable ( key1 INTEGER NOT NULL, key2 INTEGER NOT NULL, PRIMARY KEY (key1, key2), FOREIGN KEY (key2) REFERENCES otherTable (anotherKey), anotherField
CREATE TABLE myTable (
key1 INTEGER NOT NULL,
key2 INTEGER NOT NULL,
PRIMARY KEY (key1, key2),
FOREIGN KEY (key2) REFERENCES otherTable (anotherKey),
anotherField CHAR(100) NULL
)
或者,使用表设计器:单击第一个键,按住Ctrl键并单击第二个键,最后单击键按钮。您最可能查找的是复合主键,其中两个或多个键组合在一起构成主键
CREATE TABLE myTable (
key1 INTEGER NOT NULL,
key2 INTEGER NOT NULL,
PRIMARY KEY (key1, key2),
FOREIGN KEY (key2) REFERENCES otherTable (anotherKey),
anotherField CHAR(100) NULL
)
或者,使用表设计器:单击第一个键,按住Ctrl键并单击第二个键,最后单击键按钮。实际上,在一个表中,我必须将两列设置为主键。其中一列是从另一个表引用的,因此我必须将其设置为外键,因为它取决于另一个表。如何将其中一列设置为外键我遇到了错误“Msg 1776,第16级,状态0,第1行引用的表'siteConfig'中没有与外键'FK_uMyTable_uKey2_u3B75D760'中的引用列列表匹配的主键或候选键。”。Msg 1750,级别16,状态0,第1行无法创建约束。请参阅前面的错误。“但是我有一个列名”的名字“在siteConfig表中,我试图将其设置为外键,
name
列是否标记为主键?有关错误的更多信息,请参见此:实际上,在一个表中,我必须将两列设置为主键。其中一列是从另一个表中引用的,因此我必须将其设置为外键,因为它取决于另一个表。如何将其中一列设置为外键我遇到了错误“Msg 1776,第16级,状态0,第1行引用的表'siteConfig'中没有与外键'FK_uMyTable_uKey2_u3B75D760'中的引用列列表匹配的主键或候选键。”。Msg 1750,级别16,状态0,第1行无法创建约束。请参阅前面的错误。“但是,我在siteConfig表中使用了列名“name”,我试图将其设置为外键。是否将name
列标记为主键?有关错误的详细信息,请参阅以下内容: