2016-12-09 4 views
0

Я получаю сообщение об ошибке при попытке добавить запись в таблицу под названием collectionStatusMySQL - Дублировать запись для ключа

Duplicate entry '565_xxxxxx_gmail_com-toUpload' for key 'hotFolderPathAndParent' 

Я вернулся стол и удалил строку, содержащуюся в поле «565_xxxxxx_gmail_com» и попытался повторно запустить добавление, и я все еще получаю ошибку.

Я никогда не работал с индексами, поэтому я не уверен, как обойти это. Я хотел бы очистить все, что связано с 565_xxxxxx_gmail_com, чтобы я мог перерабатывать с моей стороны.

`collectionStatus` (
    `rowID` int(11) NOT NULL AUTO_INCREMENT, 
    `fileCount2process` smallint(5) unsigned DEFAULT NULL, 
    `hotFolderPath` varchar(260) NOT NULL, 
    `parentFolderOf_hotFolderPath` char(8) NOT NULL, 
    `collectionCreated` datetime DEFAULT NULL, 
    `URL` char(30) NOT NULL DEFAULT '', 
    `UUID` char(37) NOT NULL DEFAULT '', 
    UNIQUE KEY `rowID_UNIQUE` (`rowID`), 
    UNIQUE KEY `hotFolderPathAndParent` (`hotFolderPath`,`parentFolderOf_hotFolderPath`) 
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 COMMENT='Bucket for collections pending and created.' 

* редактировать, чтобы добавить деталей таблицы

+0

Не могли бы вы предоставить нам полную информацию о таблице mysql? Вы уверены, что ключ удален? (в некоторых системах mysql ui вы должны явно подтвердить удаление). – Wouter

+0

Нет, я не уверен. Я точно знаю, что «565_xxxxxx_gmail_com» не появляется, когда я делаю 'select hotFolderPath из collectionStatus, где hotFolderPath = '565_xxxxxx_gmail_com'' –

+0

'' 565_xxxxxx_gmail_com''!! '' 565_xxxxxx_gmail_com-toUpload'', поэтому ваш 'where =' не покажет вам эту строку. –

ответ

1

Колонка parentFolderOf_hotFolderPath может иметь только 8 символов. Когда вы добавите значение 565_xxxxxx_gmail_com-toUpload, оно добавит значение с помощью первых 8 символов: 565_xxxx. Возможно, у вас есть значение 565_xxxx в вашей базе?

Смежные вопросы