Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 表的两个主键和主键_Sql - Fatal编程技术网

Sql 表的两个主键和主键

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

我想为一个表设置两个主键,其中一个应该是SQLserver中的外键。

您最可能寻找的是复合主键,其中两个或多个键组合在一起构成主键

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
列标记为主键?有关错误的详细信息,请参阅以下内容: