Home  >  Article  >  Backend Development  >  wordpress代码:sql 语句中的 pm wp 是什么意思?

wordpress代码:sql 语句中的 pm wp 是什么意思?

WBOY
WBOYOriginal
2016-06-23 14:02:571368browse

看到以下代码:
WordPress 使用久了,有些 Post 删除了,但是其对应的 Post meta 数据还存在,那么怎么删除这些孤立的 Post Meta 数据呢?在数据库管理软件中直接运行下面的 SQL 语句:
DELETE pm
FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL

----不解的是,“pm" ,"wp" 是什么意思 ?


回复讨论(解决方案)

就 SQL 指令而言 pm 是表  wp_postmeta 的别名,wp 是表  wp_posts 的表名

稍微复习一下数据库知识就可以回忆起来

标签的记录是存放在 wp_terms 这个数据表中的。有时,可能部分标签创建了但是没有被使用,他们仍然会在数据表中。以下语句可以对这些未使用的标签进行查询,您可以安全的将其删除。

  SELECT * From wp_terms  wt INNER JOIN wp_term_taxonomy  wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0
----谢谢提醒。我复习多遍了,可哪儿也没告诉我这种用法。刚又看到了类似的用法,如上 wt  wtt 。请教高人,红色字体部分是什么用法?

明白了。红色字体部分 wt wtt 是 wp_terms、 wp_term_taxonomy的别名。我还不明白的是,在以下代码中:
DELETE pm
FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL
---- DELETE pm 是不是把整个 wp_postmeta 表都删除了?而我们的本意并不是如此啊!我们只是想删除那些孤立的 Post Meta 数据。
还请高手指点

他不是有 WHERE  wp.ID IS NULL 吗?

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn