Обновление значения post_meta на основе 2 ключей - Wordpress - PullRequest
0 голосов
/ 19 сентября 2018

У меня более 5000 продуктов в WooCommerce, и я ищу SQL-запрос для установки их штрих-кодов на основе их SKU.Оба "штрих-код" и "sku" являются мета-сообщениями.По сути, что-то вроде:

UPDATE wp_postmeta SET barcode='x' WHERE sku='y';

Но это не работает, потому что штрих-код и sku не являются реальными столбцами таблицы.Итак, кто-нибудь может предоставить рабочий запрос?Я новичок в SQL.Спасибо!

1 Ответ

0 голосов
/ 19 сентября 2018

Sku и штрих-код будут храниться в двух отдельных строках, связанных post_id.Это синтаксис, который вам нужно использовать для обновления одной строки на основе другой в той же таблице в MySQL ( заимствовано из этого ответа ):

UPDATE  wp_postmeta a
  JOIN  wp_postmeta b on b.post_id = a.post_id
  SET   a.meta_value = 'y'
  WHERE a.meta_key = 'barcode'
    AND b.meta_key = 'sku'
    AND b.meta_value = 'x';

т.е. запросить идентификатор напсевдоним таблицы b, а затем обновите штрих-код на псевдониме таблицы a.

(но у меня нет установки WooCommerce, чтобы проверить это - сначала сделайте резервную копию вашей БД! и т. д.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...