我正在尝试删除现有主键,并使用以下查询在现有数据库表中添加两个新的主键:
ALTER TABLE `match_team_recruit` DROP PRIMARY KEY,
ADD PRIMARY KEY (`ind_stnum`, `team_send`);
但是,运行查询时出现以下错误。
# 1062 - Duplicate entry '183-0' for key 'PRIMARY'
请参见下面的附图:
有人能告诉我怎么解决这个问题吗?
我正在尝试删除现有主键,并使用以下查询在现有数据库表中添加两个新的主键:
ALTER TABLE `match_team_recruit` DROP PRIMARY KEY,
ADD PRIMARY KEY (`ind_stnum`, `team_send`);
但是,运行查询时出现以下错误。
# 1062 - Duplicate entry '183-0' for key 'PRIMARY'
请参见下面的附图:
有人能告诉我怎么解决这个问题吗?
1条答案
按热度按时间pgky5nke1#
mysql中的主键必须遵循以下三个规则。
主键必须包含唯一的值。如果主键由多列组成,则这些列中的值的组合必须是唯一的。
主键列不能包含空值。这意味着您必须用notnull属性声明主键列。否则,mysql将强制主键列隐式为notnull。
表只有一个主键。
礼节:mysql主键介绍
要解决问题,只需向表中添加一个主键。
主键用于区分行,因此一个表中不能有多个主键!