Результаты поиска для 'AUTO_INCREMENT'
-
https://wordpress.stackexchange.com/questions/218533/unusable-menus-and-illegal-widget-setting-id-nav-menu-item-error
https://stackoverflow.com/questions/49414733/fatal-error-uncaught-exception-exception-with-message-illegal-widget-setting—
попробуйте решение отсюда.
Судя по всему, в БД потерялось значение AUTO_INCREMENTисправить можете сами через PHPMyAdmin хостинга (выбрать БД WP и найти там в меню выполнить запрос / exec query )
Перед вмешательством убедитесь что у вас точно есть бэкап (!)
ALTER TABLE 'wp_terms' CHANGE COLUMN 'term_id' 'term_id' BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY ('term_id'), ADD INDEX 'name' ('name'), ADD INDEX 'slug' ('slug');
вот такой запрос.
Если есть сомнения что, как и где делать — попросите поддержку хостинга, можете им ссылку на эту тему дать.- Ответ изменён 2 года, 8 месяцев назад пользователем Yui.
Форум: Проблемы и решения
Тема: Не добавляются новые рубрикиВозможно, слетел атрибут AUTO_INCREMENT у суррогатного ключа в одной из таблиц. Смотреть в PhpMyAdmin.
Возможно, слишком маленькое значение настройки max_input_vars у php. Смотреть phpinfo.
Список не исчерпывающий.В общем сейчас простестил посты, у меня заполняет тот промежуток что остался между старыми и перенесенными постами, поэтому я и тревожусь чтобы не было затирания в будущем.
А какое сейчас значение
AUTO_INCREMENT
у таблицы? Можно посмотреть в phpMyAdmin на вкладке «Операции». Там же можно его увеличить до безопасного максимального значения, чтобы не беспокоиться о затирании.пока не удалось воспроизвести ситуацию, когда значение
AUTO_INCREMENT
в таблице меньше одного из существующих ID.Проверил ещё раз — при запросе типа
UPDATE wp_posts SET ID = 10000 WHERE ID = 4500;
значение
AUTO_INCREMENT
в таблице автоматически увеличивается до 10001, как и при вставке новой записи. При попытке изменить его обратно на 4501 ничего не меняется, остаётся на 10001.Так что у меня есть некоторые сомнения в том, что «новые пока добавляются дальше на 2000+», если, конечно, в базе что-то не сломано.
А в чём вообще смысл этих манипуляций с ID? Может быть, задачу, ради которой понадобилось сохранять исходные ID с другого сайта, можно решить проще, если правильно её сформулировать?
AUTO_INCREMENT (в смысле свойства таблицы) должен быть больше максимального значения автоинкрементного поля. Я вообще не уверен, что его можно сделать меньше без хирургического вмешательства (в смысле редактирования непосредственно файлов базы)
Да в штатном режиме, когда AUTO_INCREMENT дойдет до добавленных постов с ранее увеличенным числом ID, он будет переписывать? Или перепрыгнет имеющиеся и дальше пойдет +1…
В будущем — в смысле в штатном режиме? Должно увеличиваться на 1 после каждого insert. В PMA в «операциях» таблицы можно посмотреть (и изменить) текущее (следующее) значение AUTO_INCREMENT.
Юрий, подскажите, так как поведет себя auto_increment в будущем, учитывая что они не сломан? Будет затирать или продолжит?
Может быть это связано с тем что я напрямую меняю ид:
Конечно. Если не указывать id явно, то insert будет создавать новое значение, следующее после максимального. Если, конечно, не сломаны auto_increment и primary key.
Форум: Проблемы и решения
Тема: Серые квадратики в медиафайлахДа, и убедитесь, что не потерялся флаг AUTO_INCREMENT.
Как раз и потерялся.
Ставлю в wp_postmeta флаг в A_I (AUTO_INCREMENT.)
Выдаёт ошибку: #1075
Ниже отсутствует индекс PRIMARY.
Ввёл индекс PRIMARY, выдало ошибку #1062обнуляются загруженные изображения (серые).
Ответил в предыдущей теме, но теперь вижу, что ответ требует уточнения, т.к. мне пока не удалось воспроизвести ситуацию, когда значение
AUTO_INCREMENT
в таблице меньше одного из существующих ID.Форум: Проблемы и решения
Тема: Пост без инкремента IDwp_insert_post не позволяет это сделать
При внимательном рассмотрении оказалось, что всё же позволяет 🙂
Там есть недокументированный параметр «import_id», предназначенный именно для импорта записей с нужными ID.
Создал тикет, чтобы добавить его в документацию: #52943.
новые посты продолжают добавляться с 4500 ид, когда они дойдут до 10000 они перескочат автоинкрементом, или начнут затирать имеющиеся?
Думаю, проще проверить на тестовой установке, чем ждать ответа 🙂
Сейчас проверил — при вставке записи с ID 10000 значение
AUTO_INCREMENT
в таблице автоматически увеличивается до 10001, т.е. после импорта новые записи пойдут дальше, а промежуток от 4500 до 10000 не будет использоваться.Форум: Проблемы и решения
Тема: Проблема с работой менюРазобрался сам и публикую ответ:
— Если у вас при нажатии на «Опубликовать» страницу, она уходит на модерацию
— Если в готовой странице не можете заменить шаблон на другой
— Если при добавлении очередного пункта в меню оно добавляется «криво», вместо названия — Элемент меню, а ссылка пропадает
— Если у вас что-то происходит, но вы уже теряете надежду, то:1. Зайдите в wp-config и замените/добавьте недостающие строки:
define(‘WP_DEBUG’, true);
define(‘WP_DEBUG_DISPLAY’, false);
define(‘WP_DEBUG_LOG’, true);Этим вы включили полное логирование сайта.
2. Произведите ваши действия. Найдите их в логах про времени. Вот в моем случае:
[17-Feb-2021 10:03:03 UTC] База данных WordPress возвратила ошибку Duplicate entry ‘0’ for key ‘PRIMARY’ в ответ на запрос INSERT INTOatlas63ru_postmeta
(post_id
,meta_key
,meta_value
) VALUES (2903, ‘_menu_item_type’, ‘custom’), выполненный do_action(‘wp_ajax_add-menu-item’), WP_Hook->do_action, WP_Hook->apply_filters, wp_ajax_add_menu_item, wp_save_nav_menu_items, wp_update_nav_menu_item, update_post_meta, update_metadata, add_metadata3. Заходим через phpmyadmin в косячную таблицу. В данном случае posmeta и видим, что у первичного ключа отсутствует автоинкремент. То есть уже есть 2047 записей, а пытается добавиться запись с номером 0, а не 2048. Исправляем в структуре AUTO_INCREMENT.
Вот и всё! Не ждите помощи, а разбирайтесь сами.
Так же, такая проблема может быть, если в таблице wp_posts отсутствует AUTO_INCREMENT у ID. В этом случае все новые картинки при загрузке любым способом выдают ошибку, добавляются с ID 0 и отображаются как пустые страницы в Библиотеке.
Форум: Проблемы и решения
Тема: РубрикиА в базе данных term_id = 0.
Это признак того, что после каких-то манипуляций с базой и/или серьезного сбоя сервера слетел флаг AUTO_INCREMENT у поля term_id. Проблема, увы, не редкая. https://ru.wordpress.org/support/search/AUTO_INCREMENT/