db Fiddle
У вас есть ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с «УДАЛИТЬ ИЗ wp_postmeta ГДЕ post_id IN» (выберите post_id из («SELECT pm.post») в строке 20
-- Deleting all duplicate products in wp_posts table
DELETE FROM
wp_posts WHERE ID IN ( SELECT ID FROM
(
select ID,post_title,post_type,meta_value from
(SELECT wp_postmeta.ID,post_title,post_type ,meta_value,
row_number()over(partition by post_title order by wp_postmeta.meta_value) rn
FROM wp_postmeta
JOIN wp_posts ON wp_postmeta.post_id = wp_posts.id
WHERE wp_posts.post_type = 'Product'
AND wp_postmeta.meta_key = '_regular_price'
) t where t.rn <> 1
) AS aliasx
)
-- Deleting all corresponding wp_postmeta.post_ids that don't have a match in wp_posts.id after the duplicate deletion above
DELETE FROM wp_postmeta WHERE post_id IN (select post_id from (
SELECT pm.post_id
FROM
wp_postmeta pm
LEFT JOIN
wp_posts p
ON p.id = pm.post_id
WHERE
p.id IS NULL
) AS aliasy )
InMYPHPAdmin Я получаю это:
#1064 - You have an error in your SQL syntax; check the manual that
corresponds to your MariaDB server version for the right syntax to use
near '(partition by post_title order by wp_postmeta.meta_value) rn '
at line 5
В онлайн-валидаторе https://www.eversql.com/sql-syntax-check-validator/ Я получаю это:
У вас естьошибка в вашем синтаксисе SQL; кажется, что ошибка примерно такова: '(разделение по порядку post_title по' в строке 21
Кажется, что это целая куча разных ошибок в зависимости от того, где я выполняю запрос.