Поддержка Проблемы и решения Правка в phpMyadmin таблицы wp_terms, поле term_id

  • В какой-то мере — это продложение темы: здесь

    При создании в админке новой метки, выходит ошибка:

    Ошибка базы данных WordPress: `[Duplicate entry ‘0’ for key ‘PRIMARY’]
    INSERT INTO wp_terms (name, slug, term_group) VALUES (‘actionsnew’, ‘actionsnew’, 0)`

    В phpMyadmin в таблице wp_terms, удаляю поле term_id и создаю новое (в точности как старое), ставлю галочку AUTO_INCREMENT её не было в старой таблице.
    Поле удачно добавляется.

    Но проблема происходит в админе:
    вместо рубрик для записей подставляются метки, (меток на сайте много).

    Соответственно, на сайте проблема:
    главное меню состоящее из рубрик превращается в меню состоящее из меток.

    Пока откатил обратно БД, как исправить ситуацию?

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Модератор Yuri

    (@yube)

    удаляю поле term_id и создаю новое

    И тем самым уничтожаете ключи и связи с другими таблицами. НЕЛЬЗЯ этого делать. Нужно вернуть полю флаг auto_increment и убедиться, что оно по-прежнему является первичным ключом (primary index)

    Если ставлю флажок auto_increment, то сразу:

    Ошибка запроса:
    #1062 — ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry ‘1’ for key ‘PRIMARY’

    как флаг вернуть другим методом?

    • Ответ изменён 6 лет, 3 месяца назад пользователем Egor2015.
    Модератор Yuri

    (@yube)

    Ну значит надо проверять, у кого 1 неправильно выставлена, и чинить, не забывая про связи с другими таблицами. Да, вручную.

    @egor2015 все Ваши проблемы следствие одной — Вы поломали базу, тк лазите в неё руками. И по всей видимости давно. Восстановить нормально может быть не только очень проблематично, но и невозможно вовсе (но нормального состояния).

    Я бы рекомендовал сделать сайт заново через экспорт-импорт контента и промежуточный сайт.

    Я стараюсь аккуратно редактировать sql, не во мне проблема.
    Сайт был в запущенном состоянии. Я практически все обновил:
    с 4.3 до 4.9.1. Около 15 плагинов удалил-обновил, новые поставил.
    Сейчас хочу удалить устаревшую тему: Caffeine ThemeВерсия: 1.1
    Нужно искать похожую.
    «Волков боятся в лес не ходить», каждый делает как может.

    Нашел решение в интернете: «удалить строку у которой term_id = 0
    AI работает только от еденицы»

    Удалил, действительно, 1 строку term_id = 0 и auto_increment поставился. Спасибо Юре.

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Правка в phpMyadmin таблицы wp_terms, поле term_id» закрыта для новых ответов.