无法创建MYSQL主键

时间:2018-10-15 14:28:52

标签: php mysql phpmyadmin

我正尝试使用以下查询在现有数据库表中删除现有的主键并添加两个新的主键:

ALTER TABLE `match_team_recruit` DROP PRIMARY KEY,
ADD PRIMARY KEY (`ind_stnum`, `team_send`);

但是,运行查询时出现以下错误。

#1062 - Duplicate entry '183-0' for key 'PRIMARY'

请参见下面的图片: enter image description here

有人可以建议我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

MySQL的主键必须遵循这三个规则。

  • 主键必须包含唯一值。如果主键包含多个列,则这些列中的值组合必须唯一。
  • 主键列不能包含NULL值。这意味着您必须使用NOT NULL属性声明主键列。如果不这样做,MySQL将隐式地将主键列强制为NOT NULL。
  • 一个表只有一个主键。

礼貌:Introduction to MySQL primary key

要解决您的问题,您只需在表中添加一个主键即可。
主键用于区分行,因此在一个表中不能有多个主键!