Вопрос такой, в марте этого года сливался полный дамп сервера , база и сайт.
Теперь спустя длительное время заметил что во многих таблицах отстутствуют ключи. Прям абсолютно все. Из за этого создается вот такая вакханалия
Где внизу нули , это уже созданные данные после переноса с id = 0 , ну и соотвественно как быть теперь?
Кинулся в дамп, а там ключей в принципе нету.
Выглядит дамп этой таблицы вот так
DROP TABLE IF EXISTS `wa_contact_emails`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `wa_contact_emails` (
`id` int(11) NOT NULL,
`contact_id` int(11) NOT NULL,
`email` varchar(255) NOT NULL,
`ext` varchar(32) NOT NULL DEFAULT '',
`sort` int(11) NOT NULL DEFAULT '0',
`status` enum('unknown','confirmed','unconfirmed','unavailable') NOT NULL DEFAULT 'unknown'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
LOCK TABLES `wa_contact_emails` WRITE;
/*!40000 ALTER TABLE `wa_contact_emails` DISABLE KEYS */;
INSERT INTO `wa_contact_emails` VALUES
(1,1,'test@ma.ru','',0,'unconfirmed'),
(0,331,'test2@ma.ru','',0,'unknown'),
(0,332,'test3@ma.ru','',0,'unknown')
/*!40000 ALTER TABLE `wa_contact_emails` ENABLE KEYS */;
UNLOCK TABLES;
Данные для заполнения для примера, там их порядка 1000, и где то 800 из них идут с id 0.
А вот как выглядит эта таблица с ключами
CREATE TABLE `wa_contact_emails` (
`id` int(11) NOT NULL,
`contact_id` int(11) NOT NULL,
`email` varchar(255) NOT NULL,
`ext` varchar(32) NOT NULL DEFAULT '',
`sort` int(11) NOT NULL DEFAULT '0',
`status` enum('unknown','confirmed','unconfirmed','unavailable') NOT NULL DEFAULT 'unknown'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
ALTER TABLE `wa_contact_emails`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `contact_sort` (`contact_id`,`sort`),
ADD KEY `email` (`email`),
ADD KEY `status` (`status`);
ALTER TABLE `wa_contact_emails`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
Дамп взял с чистой CMS.
Вопрос такого плана, в дампе который сливался на момент переноса сайта, 800 строчек с id =0 , возможно что это повредилось при создании дампа? или данная проблема была уже давно , раз новые созданные данные (а это емейлы пользователей ) которые создаются когда пользователи регистрируются, то есть они же не могли 800 емейлов за день набить. Как это проверить, и главное. Исправить только воссозданием структуры и связки ключей вручную?