Movable Typeのカテゴリ情報を管理するmt_placementテーブルの解析
作成日:2010.06.29
Movable Typeでブログ記事がどのカテゴリに属しているかを把握するために重要なのが「mt_placement」テーブルです。この記事では、このテーブルの構造とカテゴリ情報の管理方法について解説し、データベース操作に役立つ知識を提供します。
error この記事は最終更新日から16年以上が経過しています。
Movable Type のデータベースを直接いじる機会ってそんなにないと思うんですが、プラグインを作るときとか、サーバー移転とかでちょっとデータをいじったりする時とかの参考に。
各ブログ記事がどのカテゴリに属しているのか、というデータが、データベースのどのテーブルにどういう形で入っているのか、という話です。
ブログ記事関連のデータなので、テーブル「mt_entry」に入ってるんじゃないかな、ととりあえず考えると思うんですが、違います。
実際「mt_entry」テーブルには「entry_category_id」というフィールドがあるんですが、これは多分、古いバージョンで一ブログ記事に対して一カテゴリしか設定できなかった頃に使っていたフィールドでしょう。今では使われていません。
じゃあどのテーブルなんだって話なんですけども、ずばり「mt_placement」というテーブルがそれです。
このテーブルは、以下のような構造になっています。
- placement_id
- 各行を識別するID
- placement_blog_id
- ブログ記事の属する blog_id
- placement_category_id
- ブログ記事の属する category_id
- placement_entry_id
- ブログ記事の entry_id
- placement_is_primary
- メインカテゴリとして指定されているかどうか。メインカテゴリなら 1 が。メインでなければ 0 が入ります。
こういうデータがずらっと入ってるわけですね。
ブログ記事に対して複数のカテゴリが指定されている場合は、もちろん複数行にわたって同一の placement_entry_id に対して異なる placement_category_id のデータが入っています。
奈良市を拠点に、27年以上の経験を持つフリーランスWebエンジニア、阿部辰也です。
これまで、ECサイトのバックエンド開発や業務効率化システム、公共施設の予約システムなど、多彩なプロジェクトを手がけ、企業様や制作会社様のパートナーとして信頼を築いてまいりました。
【制作会社・企業様向けサポート】
Webシステムの開発やサイト改善でお困りの際は、どうぞお気軽にご相談ください。小さな疑問から大規模プロジェクトまで、最適なご提案を心を込めてさせていただきます。
ぜひ、プロフィールやWeb制作会社様向け業務案内、一般企業様向け業務案内もご覧くださいね。
Movable Typeで非公開コメントを一括公開する方法—SQLを使った簡単な手順
2010.04.15
Movable Typeのコメント管理で、非公開コメントを一括で公開状態に変更したい時に便利なSQLの活用法を紹介します。SPAM判定されたコメントを避けつつ、効率的にコメント公開を行うための実践的な手順を解説します。
MySQLのORとINの使い分け:10万件のデータで検索速度を比較する
2026.10.28
MySQLのORとINの使い分けを、同じカラムの複数条件を例に解説します。ANDと組み合わせる際の括弧やNULLの注意点を整理し、10万件のデータで実行計画と検索速度を比較。同じ実行計画でも時間差が出た結果を紹介します。
MySQLのLOAD DATA LOCAL INFILEの使い方:設定からファイルの読み込み確認まで
2026.10.20
MySQLのLOAD DATA LOCAL INFILEで、手元のファイルをテーブルへ読み込む方法を解説します。サーバー・クライアント双方の許可設定から、3行のデータを使った読み込み例、警告・件数・値の確認、読み込めない場合の切り分けまで紹介します。
MySQLのビュー(VIEW)入門:テーブルとの違いと使いどころ
2026.10.18
MySQLのビュー(VIEW)とテーブルの違い、ビューが役立つ場面を解説します。CREATE VIEWによる作成方法を、注文データの抽出・集計例で紹介。元データの変更との関係や、更新・性能・参照権限の注意点も整理します。