技術資料

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判定されたコメントを避けつつ、効率的にコメント公開を行うための実践的な手順を解説します。

Movable Type MySQL

MySQLのDATE_FORMATとTIME_TO_SEC:日時の表示と時間の数値化

2026.10.13

MySQLのDATE_FORMATで日時の表示を整える方法と、TIME_TO_SECで時間を秒数へ変換する方法を解説します。入力と結果を比較しながら、月と分の書式指定、NULL、負の時間、24時間を超える時間の扱いも紹介します。

MySQL

MySQLのCASE式入門:条件に応じてSELECTの出力を切り替える

2026.10.12

MySQLのCASE式を使い、条件に応じてSELECTの出力値を切り替える方法を解説します。状態コードを表示名に変換する例を通して、基本構文、ELSEとNULLの扱い、条件が重なる場合のWHENの順序を紹介します。

MySQL

MySQLで文字列を整形・抽出する:TRIM・SUBSTRING_INDEX・REGEXP_SUBSTRの使い方

2026.10.11

MySQLで取得する文字列から不要な空白を除いたり、区切り文字や正規表現を使って必要な部分を取り出したりする方法を紹介します。TRIM・SUBSTRING_INDEX・REGEXP_SUBSTRの基本構文と使い分けを、具体的なSQL例で解説。NULLや空文字、想定した形式に合わない値を扱う際の注意点も整理します。

MySQL

阿部辰也へのお仕事の依頼・お問い合わせ

軽いご相談もお気軽にどうぞ!

個人情報の取り扱いについて *必須 プライバシーポリシーをご確認いただき、同意いただける場合は「同意する」にチェックをしてください。

keyboard_double_arrow_up
TOP