[MovableType][MySQL]データベース内のmt_entryテーブルの中身を調べてみた


何かのお役に立てば幸いです。

表の見方

entry_status:1,2 → '1'か'2'の2つの値しか入っていない
entry_created_by:1 → 値がすべて1

調査結果

Field Type Null Key Default 調査結果
entry_id int(11) NO PRI NULL 主キー
entry_allow_comments tinyint(4) YES NULL 0,1
entry_allow_pings tinyint(4) YES NULL 0,1
entry_atom_id varchar(255) YES NULL 空文字列、NULL, いろいろな文字列
entry_author_id int(11) NO MUL NULL 1
entry_basename varchar(255) YES MUL NULL いろいろな文字列
entry_blog_id int(11) NO MUL NULL 5
entry_category_id int(11) YES NULL NULL
entry_convert_breaks varchar(60) YES NULL richtest, __default__, 0, 1
entry_excerpt mediumtext YES NULL 空文字列、NULL
entry_keywords mediumtext YES NULL 空文字列、いろいろな文字列
entry_pinged_urls mediumtext YES NULL NULL,いろいろな文字列
entry_status smallint(6) NO MUL NULL 1,2
entry_tangent_cache mediumtext YES NULL NULL
entry_text mediumtext YES NULL いろいろな文字列
entry_text_more mediumtext YES NULL 空文字列、NULL
entry_title varchar(255) YES MUL NULL いろいろな文字列
entry_to_ping_urls mediumtext YES NULL 空文字列、NULL, いろいろな文字列
entry_week_number int(11) YES MUL NULL いろいろな文字列
entry_created_on datetime YES MUL NULL いろいろな日時
entry_created_by int(11) YES NULL 1
entry_modified_on datetime YES MUL NULL いろいろな日時
entry_modified_by int(11) YES NULL 1,NULL
entry_authored_on datetime YES MUL NULL いろいろな日時
entry_template_id int(11) YES NULL NULL
entry_class varchar(255) YES MUL entry entry,page
entry_ping_count int(11) YES 00,1,2,3,5
entry_comment_count int(11) YES MUL 00,1,2
entry_current_revision int(11) NO 00,1,2,3,5

調べ方

mysql> select distinct entry_allow_pings from mt_entry;
+-------------------+
| entry_allow_pings |
+-------------------+
|                 1 |
|                 0 |
+-------------------+
これを1カラムずつ全部実行して調べました。

感想

教科書的なRDBMSの運用と違って、きれいには正規化されていないようです。
例えば、entry_convert_breaksは"richtest, __default__, 0, 1"という変わったデータの持ち方をしています。

ほとんどのカラムでNULLを許可しているため、NULL値がたくさん入っています。
空文字列('')とNULLが混在しているのが気持ち悪いです・・・

まだまだ謎が多いです。
カテゴリ: