次のコードを参照してください:
WordPress は長い間使用されており、一部の投稿は削除されましたが、対応する投稿メタデータはまだ存在します。では、これらの分離された投稿メタデータを削除するにはどうすればよいでしょうか。次の 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 テーブル全体が削除されましたか?しかし、それは私たちの意図ではありません。孤立した投稿メタデータを削除したいだけです。
専門家からアドバイスをお願いします
彼は WHERE wp.ID IS NULL を持っていませんか?