我正在使用mysql。 mysql数据库中的表中可以有多少个主键。
答案 0 :(得分:6)
你不能拥有几个所谓的“主要”。答案是:一个。但是,主键可以包含多个列。那就是你所谓的“复合主键”
对于这类问题,您总能在手册中找到答案:
答案 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)
一。
但是,如果您正在寻找主键,则可以使用多个字段来构建主键。