Задать вопрос
CrazySage
@CrazySage
C++ developer

Исправление дублирующихся ключей в БД через PHP

Дано: есть база данных MySQL, на ней крутится форум. Крутится давно, движок форума никто не обновлял, поэтому в базе появились дублирующиеся ключи, что делает невозможным конвертацию форума на другой движок в автоматическом режиме. База немаленькая (несжатый дамп 200 Мб), править ручками очень не хочется, вдобавок:
Не дано: phpmyadmin, cpanel, ssh или любого другого внятного способа работать с базой, только ftp и возможность запускать php скрипты.
Вопрос: Есть ли в таких условиях способ починить базу от дублирующихся ключей не связанный с кучей геммороя и мелкой ручной работы?
Форум XMB
  • Вопрос задан
  • 2356 просмотров
Подписаться 2 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 4
@edogs
Одно из самых простых — вешаем уникальный ключ принудительно, и сносим его.
ALTER IGNORE TABLE `backup` ADD UNIQUE ( `title`);
ALTER TABLE `backup` DROP KEY `title`;
Ответ написан
Комментировать
CrazySage
@CrazySage Автор вопроса
C++ developer
В общем второй вопрос — кто-нибудь знает, какая версия PhpMyAdmin еще работала с PHP4? Чтобы не перебирать все :)
Ответ написан
Комментировать
Evengard
@Evengard
Попробуйте поиграться с LIMIT 1,1. Если ничего не возвращает — значит дубля ключа нет, если возвращает — начит есть — придётся фиксить.
Ответ написан
@Hint
SELECT id, COUNT(*) AS cnt FROM table GROUP BY id HAVING cnt > 1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽