2016-10-03 3 views
0

Я использую Async Request для обновления метаданных WordPress в цикле.WordPress - Повторяющаяся запись для Первичного ключа при обновлении сообщения meta через одновременные вызовы AJAX

Некоторые люди используют мой код говорят мне, что это ошибки, и в их журналах, они находят такие вещи, как:

[Пт Сен 30 15: 12: 28,782842 2016] [: ошибка] [ PID 19006] [клиент 127.0.0.1:57559] ошибка базы данных WordPress Дублировать запись '296520' для ключа 'PRIMARY' ВСТАВКА запроса в wp_postmeta (post_id, meta_key, meta_value) VALUES (7637, 'my_titles', «а: 1: {i: 0; O: 19: \ "My_Title_Item \": 8: {s: 25: \ "\ 0My_Title_Item \ 0text \"; s: 90: \ "Пользователь текст \"; s: 35: \ "\ 0My_Title_Item \ 0start_datetime \"; O: 8: \ "DateTim e \ ": 3: {s: 4: \" date \ "; s: 19: \" 2016-09-29 11:28:58 \ "; s: 13: \" timezone_type \ "; i: 3 ; s: 8: \ "временная зона \"; s: 3: \ "UTC \";} s: 33: \ "\ 0My_Title_Item \ 0end_datetime \"; б: 0; s: 27: \ "\ 0My_Title_Item \ 0pre_my \ "; б: 1; s: 24: \" \ 0My_Title_Item \ 0uid \ "; s: 10: \" 6971607559 \ "; s: 35: \" \ 0My_Title_Item \ 0visits_per_day \ "N; s: 27: \" \ 0My_Title_Item \ 0errors \ "; б: 0; s: 7: \" обновление \ "; O: 8: \" DateTime \ ": 3: {s: 4: \" дата \ "; s: 19: \" 2016-09-30 15:12:15 \ "; s: 13: \" timezone_type \ "; i: 3; s: 8: \" часовой пояс \ "; s: 3: \" UTC \ ";}} } ') сделаны do_action (' wp_ajax_nopriv_wp_my_patch_my_async '), call_user_func_array, WP_Async_Request-> maybe_handle, My_Patch_YR-> ручка, My_Title_History -> __ построить, My_Title_History-> maybe_initialise_titles, My_Title_History-> get_titles, My_Title_History-> maybe_reset_errors, My_Title_Hist ory-> reset_errors_on_latest_title, My_Title_History-> save_titles_db, update_post_meta, update_metadata, add_metadata, реферер: https://samplesite.com/wp-admin/admin-ajax.php?action=wp_my_patch_my_async&nonce=068b8bd7f8

Важной частью является WordPress database error Duplicate entry '296520' for key 'PRIMARY' for query.....

Я считаю, что это происходит потому, что выполнение асинхронного кода достигается через wp_ajax, и мне интересно, работает ли он одновременно с несколькими запросами?

Есть ли способ, таким образом, чтобы убедиться, что ключ увеличивается при выполнении этого (если я заменю update_post_meta с прямым $wpdbINSERT команды)?

Спасибо!

+0

как только я наткнулся на подобную проблему, когда случайно удалил автоинкремент с первичного ключа. – maksbd19

ответ

1
REPAIR TABLE wp_postmeta 

Это сработало для меня.

Php памяти было хорошо, Apache памяти было хорошо, Htaccess было хорошо, и т.д. и т.п.

Стол был поврежден каким-то образом (возможно прерывание, когда кто-то при загрузке изображения на внутреннем интерфейсе и сказать, навигации из Интернета страница, нарушающая полную команду «INSERT» WP. Итак, просто отремонтировать таблицу и вуаля! Работы

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