Mysql 重复输入密钥phpmyadmin

Mysql 重复输入密钥phpmyadmin,mysql,Mysql,我试图将主键分配给phpmyadmin中名为EmailAddress的列,但出现以下错误: #1062密钥“主”的重复条目 这是它试图运行的SQL查询: ALTER TABLE `dparts` ADD `emailadress` TEXT NOT NULL AFTER `surname`, ADD PRIMARY KEY (`emailadres`(30)) KEY_BLOCK_SIZE = 30 USING BTREE; 我认为这与我没有使用INT有关。但话说回来,为什么不允许

我试图将主键分配给phpmyadmin中名为EmailAddress的列,但出现以下错误:

#1062密钥“主”的重复条目 这是它试图运行的SQL查询:

ALTER TABLE `dparts`  ADD `emailadress` TEXT NOT NULL  AFTER `surname`,  ADD   PRIMARY KEY  (`emailadres`(30)) KEY_BLOCK_SIZE = 30 USING BTREE;

我认为这与我没有使用INT有关。但话说回来,为什么不允许我使用文本而不是INT?我可以在不使用INT的情况下获得主键吗?如果是,怎么做?

与数据类型无关。主键是唯一的,正如错误所说的那样。您对如何解决这一问题有任何线索吗?在更改之前进行重复数据消除…以及如何做到这一点?Fidn所有副本并将其删除