Мне передали запрос MySQL об удалении миллионов объектов, к которым я пытаюсь добавить LIMIT, который также ORDERS BY ASC.Я мало представляю, что я делаю, и я очень застрял.
Из того, что я понимаю, вы не можете ОГРАНИЧИТЬ УДАЛЕНИЕ из нескольких таблиц, но решения, которые я нашел, позволяют обойти эту проблему.мне было слишком сложно адаптироваться самостоятельно.
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON ( a.ID = b.object_id )
LEFT JOIN wp_postmeta c ON ( a.ID = c.post_id )
LEFT JOIN wp_term_taxonomy d ON ( d.term_taxonomy_id = b.term_taxonomy_id )
LEFT JOIN wp_terms e ON ( e.term_id = d.term_id )
WHERE d.taxonomy = 'edd_log_type' AND a.post_type = 'edd_log' AND e.term_id = 167
ORDER BY ID ASC LIMIT 100;
Ожидание: я пытаюсь создать запрос, который найдет и удалит самые старые 100 записей.Я помещаю LIMIT, потому что количество записей (миллионов), обрабатываемых во время ожидания запроса в противном случае.
Фактический результат: синтаксические ошибки из-за того, что LIMIT не работает с удалением из нескольких таблиц, насколько я понимаюпо крайней мере.