【发布时间】:2018-03-03 15:15:40
【问题描述】:
我正在使用 PHPAdmin 在字段上创建唯一索引。它返回错误 1062 - Duplicate Key on 。 . .然后它给了我有问题的数据。问题是数据不是重复的。每条记录在该字段中都有一个唯一的条目。认为这是一个异常,我删除了该条目并再次尝试。这次在删除记录之前的最后一行给了我同样的错误。
表架构:
CREATE TABLE prospects (
client_id int(11) NOT NULL AUTO_INCREMENT,
company varchar(64) DEFAULT NULL,
created_on timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
... some other fields like first_name...
PRIMARY KEY (client_id),
KEY first_name (first_name,last_name)
) ENGINE=MyISAM AUTO_INCREMENT=1958 DEFAULT CHARSET=latin1
Alter table 语句失败:
ALTER TABLE acceler6_accelrefer.prospects ADD UNIQUE company_ui (company);
任何帮助或见解将不胜感激。
【问题讨论】:
-
添加表 CREATE 架构和 PHPMyADMin 正在创建的实际插入语句,该语句会在您的帖子中生成错误,我们将能够确定问题。您可以运行
show create table yourtablename;来获取创建语句。 -
您的数据可能是重复的。在将问题归咎于产品之前,请始终假设是您错了。
-
谢谢雷。这是创建表 CREATE TABLE
prospects(client_idint(11) NOT NULL AUTO_INCREMENT,companyvarchar(64) DEFAULT NULL,created_ontimestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (client_id), KEY @ 987654329@ (first_name,last_name) ) ENGINE=MyISAM AUTO_INCREMENT=1958 默认字符集=latin1 -
这是尝试创建索引的 SQL。更改表
acceler6_accelrefer.prospects添加唯一company_ui(company); -
嘿影子,作为一名程序员,我很清楚这个概念,谢谢,但表中没有重复。