表中可以有多少主键?

时间:2011-08-02 13:12:33

标签: mysql mysqli

我正在使用mysql。 mysql数据库中的表中可以有多少个主键。

5 个答案:

答案 0 :(得分:6)

你不能拥有几个所谓的“主要”。答案是:一个。但是,主键可以包含多个列。那就是你所谓的“复合主键”

对于这类问题,您总能在手册中找到答案:

http://dev.mysql.com/doc/refman/5.5/en/create-table.html

答案 1 :(得分:3)

您只能拥有一个主键,并且可以组成(或不组合)。此外,您可以拥有许多与主键逻辑上相同的唯一索引(但某些功能对它们不可用)

你应该将主键理解为表的“第一个索引”,在许多RDBMS上必须有一个主键才能拥有其他索引

答案 2 :(得分:2)

您只能拥有一个主键。来自MySQL文档:

  

PRIMARY KEY是一个唯一索引,其中必须定义所有键列   作为NOT NULL。如果它们没有显式声明为NOT NULL,那么MySQL   如此隐含地(并且默默地)声明它们。一张桌子只能有一张   首要的关键。如果您没有PRIMARY KEY并且应用程序要求   对于表中的PRIMARY KEY,MySQL返回第一个UNIQUE   没有NULL列的索引作为PRIMARY KEY。

您发布了有关复合主键的评论。我建议您阅读MySQL手册中的一些内容,以了解它们http://dev.mysql.com/doc/refman/5.5/en/create-table.html。另外,关于复合主键,您只需要查找它们就会出现问题here

答案 3 :(得分:1)

一个,因此“主要”。您可以在表上使用其他“唯一”键/索引来表示该列/列中的唯一性(并且可能被称为候选键)。

答案 4 :(得分:0)

一。

但是,如果您正在寻找主键,则可以使用多个字段来构建主键。