Mysql 删除所有具有给定 meta_key 的帖子

标签 mysql sql wordpress

<分区>

我有一个 wordpress 网站,它为我的帖子分配了一些 meta_key。我想删除 mysql 中具有 meta_keyacest_meta 的所有帖子。使用此 SQL 命令:

SELECT `post_id`
FROM `wp_postmeta`
WHERE `meta_key` 
LIKE 'acest_meta' 
ORDER BY `wp_postmeta`.`post_id` ASC

我可以看到所有包含给定 meta_key 的 ID,但我没有删除复选框。我在顶部看到一条消息说“当前选择不包含唯一列。网格编辑、复选框、编辑、复制和删除功能不可用。”我怎样才能删除所有这些帖子?

最佳答案

您可以使用 IN() 语句通过选择删除,然后像这样将选择放在 IN 中

DELETE FROM `wp_postmeta` 
WHERE `post_id` IN 
(   SELECT `post_id`
    FROM `wp_postmeta`
    WHERE `meta_key` LIKE 'acest_meta' 
)

关于Mysql 删除所有具有给定 meta_key 的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25467021/

相关文章:

mysql - SQL查询从内部连接返回多个数据

sql - 如何从两列的值中选择 DISTINCT

html - CSS 类的媒体查询

css - 有序和无序列表的着色和调整高度

javascript - 一页打开多个模态框

c# - 当有复合主键并且只想使用一个时使用 db.Find

php - html 表单中 Mysql 数据库中记录的日期值为 0000-00-00

mysql - MySQL中是否有像Oracle中的 "level"这样的函数

sql - 在 Azure SQL 数据库中存储 CREATE、TRUNCATE 和 DROP 语句的执行历史记录

java - 简单的 jdbcTemplate.query() 应该返回一个列表,但不是