@invisii

Как удалить строки другой таблицы запросом SQL?

Доброго дня. Собственно обычная WP база.
Таблица wp_postmeta:
INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES
(3, 1, 'custom_permalink', '2018/03/TITLE1.html'),
(9, 2, 'custom_permalink', '2017/11/TITLE2-KEY.html'),
(15, 3, 'custom_permalink', '2017/09/TITLE3.html'),

Таблица wp_posts:
INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES
(1, 1, '2018-03-25 16:44:42', '2018-03-25 16:44:42', 'TEXT1', 'TITLE1', '', 'publish', 'open', 'open', '', '1', '', '', '2020-01-01 12:42:15', '2020-01-01 12:42:15', '', 0, '/?p=1', 0, 'post', '', 0),
(2, 1, '2017-11-03 10:37:19', '2017-11-03 10:37:19', 'TEXT2', 'TITLE2', '', 'publish', 'open', 'open', '', '2', '', '', '2020-01-01 12:42:16', '2020-01-01 12:42:16', '', 0, '/?p=2', 0, 'post', '', 0),
(3, 1, '2017-09-29 11:17:03', '2017-09-29 11:17:03', 'TEXT3', 'TITLE3', '', 'publish', 'open', 'open', '', '3', '', '', '2020-01-01 12:42:16', '2020-01-01 12:42:16', '', 0, '/?p=3', 0, 'post', '', 0),


Подскажите как составить запрос, чтобы найти в таблице wp_postmeta строки, содержащие в урле "-KEY.html" и удалить эти посты из таблицы wp_posts?
Мой запрос не выполняется:
DELETE FROM wp_posts 
WHERE ID = 
(SELECT post_id FROM wp_postmeta WHERE meta_value LIKE '%-KEY.html%');
  • Вопрос задан
  • 49 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
вы присваиваете id набор айдишников вместо одного значения, если хотите чтобы ваша конструкция работала - используйте in()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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