如何使用alter table创建两个主键

时间:2011-03-18 12:28:07

标签: mysql primary-key alter-table

我有表格的表格经纪人

broker
{
broker_code char(10) primary key

.

.

.
}

我添加了另一个具有此表单的主键

code int nut null auto_increment

并写了这个查询

ALTER TABLE broker ADD code INT  NOT NULL AUTO_INCREMENT,
  ADD PRIMARY KEY (code);

但是这个错误。

multiply primary key defined.

我能做什么?

3 个答案:

答案 0 :(得分:3)

您不能拥有两个主键...但是,您可以拥有“候选”键或唯一,以防止在其他条件上重复...例如人力资源应用程序中的人员。您可以拥有一个内部“员工ID”,这是一个主要的,但也是一个人的社会安全号码的候选键,它应该永远不会被复制......如果是这样,它会通过一个红旗到H / R到验证一个人是谁。

答案 1 :(得分:2)

下面这段代码有一个带有alter table的复合主键。

ALTER TABLE ex_table
ADD PRIMARY KEY (`name`,`id`)

答案 2 :(得分:0)

我不确定,因为我无法看到当前表'经纪人'的结构。 但我的猜测是你已经定义了另一个主键。

每个表只允许1个主键。