Как создать запись в таблице wp_postmeta с условием?

Приветствую!
Есть таблица wp_postmeta, в таблице следующие столбцы:
META_ID / POST_ID / META_KEY / META_VALUE

Таблица уже содержит большое количество записей, среди которых есть такие записи, в которых уже существует и заполнено поле META_KEY="related_p", не важно с каким значением META_VALUE, хоть с пустым.
Например:
META_ID / POST_ID / META_KEY / META_VALUE
11114 / 2222 / related_p / 6666
11115 / 2222 / price / 123

Но также есть записи, у которых НЕ существует META_KEY="related_p"
Например:
META_ID / POST_ID / META_KEY / META_VALUE
11116 / 3333 / price / 456

Как составить sql команду, чтобы выполнилось следующее:
Если в таблице wp_postmeta, у записи с POST_ID="3333", НЕ существует поля META_KEY="related_p", то создать такую строку, с автоинкрементом колонки META_ID, POST_ID="3333", META_KEY="related_p" и META_VALUE="" (пустое значение).

Спасибо!
  • Вопрос задан
  • 305 просмотров
Решения вопроса 1
@nozzy
Symfony, Laravel, SQL
INSERT INTO wp_postmeta (POST_ID, META_KEY, META_VALUE)
SELECT * FROM (SELECT '3333', 'related_p', ' ') AS t1
WHERE NOT EXISTS (
    SELECT META_ID FROM wp_postmeta WHERE POST_ID='3333' AND META_KEY = 'related_p'
) LIMIT 1;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы